프로그래밍 QnA

ssehoony의 이미지

gcc 4.0 에서 signedness 체크 부분만 제거하려면?

gcc 로 컴파일하는데 -Wall 옵션을 주고 컴파일을 하고 있습니다.
그런데 gcc 를 3.0 에서 4.0 으로 변경하니깐

Quote:
warning: pointer targets in passing argument 1 of 'strlen' differ in signedness

위와 같은 signedness 경고 문구가 생기네요.
(4.0 에서 추가된 경고 기능인 것 같은데, 개인적으로 좋은 경고 기능이 추가 됐다고 생각합니다.)
경고 문구를 제거하기 위한 최선은 소스의 잘못된 부분을 수정하는 것이겠지만, 그렇게 하기엔 너무 많아서 차선으로 저 경고 문구만 빼고 싶습니다.
yeilho의 이미지

소켓 프로그램 데이터 전송 질문

소켓 프로그램하는데 궁금한게 있어서 글을 올립니다.

제가 보내려는 전문이

헤더길이 헤더 본문길이 본문

으로 구성되어 있는경우에, 이것을 어떻게 보내야 될지 조언을 구하고자 글을 올립니다.

예를 들어 아래 같이 전문이 구성 될 수 있을것 같습니다.

헤더길이: 5
헤더: AAAAA
본문길이: 10
본문: AAAAABBBBB

5AAAAA10AAAAABBBBB

문제는 본문의 길이가 가변이라서 어레이로 길이를 잡을수 없어서 포인터를 사용해야 할것 같은데 어떻게 해야 좋을까요?

hohory의 이미지

소켓 프로그래밍 소스 컴파일시에 오류가 납니다.

간단한 udp 소켓 프로그램을 짯습니다.

컴파일 하는데 아래와 같은 오류가 나네요.

도와 주세요 ㅠ.ㅠ

[shell] gcc udp_sender.cpp
/tmp/ccFWMQ4g.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[shell]

cococo의 이미지

함수를 실행시켜 주는 함수에 대한 질문입니다.

안녕하십니까. 점심은 맛나게 드셨는지요. 전 이 글 쓰고, 맛나게 먹어 볼 생각입니다만... ㅎㅎㅎ

우선, 제목과 같은 함수를 만들고 싶습니다.
예를 들면, DoExecute( functionName, ... ) 같은 걸 만들어서,
DoExecute안에 함수 이름을 쓰면, 그 함수가 실행되는 거지요.

이걸 어디에 쓸라구 하냐면...
GUI에서, 버튼 클릭을 하면 이벤트가 발생하지 않습니까?
그런데, 이 버튼 자체가 config.txt파일에서 불러 온 설정에 의해 만들어지기 땜에, 이벤트 역시 설정 파일에 의해 결정됩니다. 그래서, DoExecute( FnName, ... ) 라는 식으로 함수를 실행시키는 함수를 만들어서 ClickEvent 안에 넣어보려고 했던 거죠.

hys545의 이미지

struct 를 재정의 할 수 있나여?

mac os x용 풀그림은 gnustep으로 리녹스에 포팅중입니다.,
그런데 그냥 컴파일 하면
ObjCSharpBridge.m: In function 'dumpClass':
ObjCSharpBridge.m:114: error: 'struct objc_class' has no member named 'isa'
ObjCSharpBridge.m:117: error: 'struct objc_class' has no member named 'isa'
ObjCSharpBridge.m:120: error: 'struct objc_class' has no member named 'methodLists'
ObjCSharpBridge.m:121: error: 'struct objc_class' has no member named 'cache'
ObjCSharpBridge.m:123: error: 'struct objc_class' has no member named 'methodLists'
ObjCSharpBridge.m:124: error: 'struct objc_class' has no member named 'methodLists'

rain의 이미지

ARM 주소 지정방식의 예는?

요즘 ARM System Developer's Guide를 보구 있는데요.
ARM instruction set이 제공하는 memory address를
계산하기 위한 mode에 관한 부분을 봤습니다.
아래와 같은 부분을 읽고는 c로 예제코드를 짜서 armcc -S 로
compile해보면 각각의 mode가 사용된 예가 나오겠다라고
생각하구 예제를 짜봤는데. ASM code가 생각했던 데로
나오질 않네요.
올바른 예제는 어떤 코드로 짜야 하는지 궁금합니다.

Quote:

프리 인덱스 모드는 데이터 구조 안의 요소들을 액세스하기 위해 사용된다. 포스트인덱스와 자동인덱스는 배열을 검색하는데 사용된다.
widgie의 이미지

JOGL 사용해 보신분 계십니까

jogl 사용해볼려고 인터넷에서 뒤지다가

설치까지 다 했습니다
(*.dll 파일은 bin 안에 , *.jar 파일은 lib/ext 안에..)

그런데 막상 예제 같은걸 실행해서 해볼려고 하면

import 문에서

import net.java.games.jogl.GL;

이부분이 문제입니다

도대체 왜 이런거죠 --;

저 패키지가 없는건 알겠는데 어디서 구해야 되는지 모르겠습니다

gnoygnas의 이미지

TCP의 체크섬을 구하려고 하는데...

TCP 레이어에서 체크섬을 구하려고 아래와 같은 소스 코드를 사용(검색했더니 나오더군요..^^)하려고 합니다. (정확한 것인지는 아직 확인하지 못함)

아래 소스에서 ptr로 받는 부분과 len이 순수한 TCP 헤더만을 가리키는 것인지 아니면 IP 헤더를 가리키는 것인지 궁금합니다.

혹시 이보다 더 좋은 소스나 참고할만한 것이 있으면 부탁드립니다...^^

[code:1]unsigned short in_cksum(unsinged short *ptr, int nbytes);

unsigned short in_cksum(unsinged short *ptr, int nbytes)

rndrmagkqslek.의 이미지

gcc에서 특정 코드 부분을 최적화 시키지 않게 하려면

다음과 같은 코드가 있을때

unsigned int * var;

*( (unsigned int*)0xFEC00000) = 0x10;
*var = *( (unsigned int*)0xFEC00010);

gcc 에서 최적화 옵션을 주면, 디어셈블링 해보면
*var = *( (unsigned int*)0xFEC00010);
부분이 먼저 들어가고 그것에 이어서
*( (unsigned int*)0xFEC00000) = 0x10;
부분을 실행하게 됩니다.

그런데 위 코드는 0xFEC0000 부분이 셀렉터 역할을 하기 때문에
0xFEC00010 값을 얻어오기 전에 먼저 0xFEC0000에 값을 넣어 주어야 하는데요, 컴파일러가 최적화를 해버려서 순서가 바뀌어 버리네요.

dalant019의 이미지

처음으로 커널 쓰레드를 사용해 보았습니다.

커널 쓰레드를 종료할 때 아래와 같이

void fun1(void *pData)
{

    for ( ; ; )
    {
        if (flag == true)
        {
              break;
        }
        
        .....
     }
}

단지 어떤 조건(flag == true)를 만족했을 때 for문을 빠져나야 리턴되면 커널 쓰레드가 자연스럽게 종료되는 건가요? 응용 쓰레드는 이렇게 종료되면 그 뒷 처리를 시스템에서 알아서 해주게 되는 데 커널 쓰레드는 시스템의 한 부분이기 때문에 이렇게 종료시켜서는 안될 것 같다는 생각이 갑자기 들어서요~

페이지

프로그래밍 QnA 구독하기