프로그래밍 QnA

freezm7의 이미지

임베디드 시스템에서 쓸만한 GUI 라이브러리가 뭐가 있을까요?

임베디드 시스템을 개발하고 있습니다.

GUI 를 처음부터 개발하려고 하니, 이건 무리인것 같네요.
우선, CPU도 일반적인 CPU가 아니구요,(Terra칩입니다.)
OS도 VxWorks를 씁니다.

제 생각에는 Hardware Dependent한 소스만 직접 수정하면,
가져다 쓸 수 있는 오픈 소스 라이브러리가 있지 않을까 생각되는데요.
아시는 분 없나요?

gostop의 이미지

[질문] while(!feof(fp)) { fscanf();}

dir2html과 유사한 걸 만들고 있는데요..

system("ls -l | grep ^d | awk '{print $9}' > dirlist");
fp=fopen("./dirlist", "r");
while(!feof(fp)) {
  fscanf(fp, "%s", dir);
  fprintf(..........);
}

대충 이런 식으로 만들었구요..
현재 디렉토리 아래 디렉토리가 a, b, c, d 이렇게 있다고 하면..
이 프로그램을 실행해서 fprintf()에 의해 만들어진 파일을 보면 a, b, c, d, d 이렇게 d가 2번 찍혀있습니다.
imcjswo의 이미지

메모리 캡쳐 후 이상한점

char *buffer1[20];
char *buffer2[10];

memset(buffer1, 'A', 20);
memset(buffer2, 'B', 10);

위의 코드로 배열을 초기화 한 후 메모리 캡쳐를 해봐았는데요
위에 표시한 부분이 조금 이상네요
소스를 조금씩 고쳐봐도 항상 저부분에서 2바이트정도가 다른값으로 채워져 있는데 다른 이유가 있는건가요?
옆에 아스키표시에는 전혀 문제가 없이 연속적으로 10개의 배열모두 B로 초기화 된것처럼 보이는데...
참...이거 찜찜하네요 -_-;;
lacovnk의 이미지

MakeFile 만들기

[code:1]halt.o: halt.c
$(CC) $(CFLAGS) -c halt.c
halt: halt.o start.o
$(LD) $(LDFLAGS) start.o halt.o -o halt.coff
../bin/coff2noff halt.coff halt

shell.o: shell.c
$(CC) $(CFLAGS) -c shell.c
shell: shell.o start.o
$(LD) $(LDFLAGS) start.o shell.o -o shell.coff
../bin/coff2noff shell.coff shell

sort.o: sort.c
$(CC) $(CFLAGS) -c sort.c
sort: sort.o start.o
$(LD) $(LDFLAGS) start.o sort.o -o sort.coff

nrabbit의 이미지

GNU Gettext를 사용한 프로그램의 라이센스??

GNU Gettext를 사용하여 프로그램을 만들려고 하는데요.

그렇게 되면 만든 프로거램은 GPL라이센스에 의해서 소스코드를 공개하여야

하는건가요?

아니면 사용된 부분만 공개를 해야하는것인가요??

emptysky의 이미지

스택의 시작 주소 얻어오는 방법

unsigned long get_ESP(void)
{
     __asm__("movl %ESP, %EAX"); //EAX에 리턴할값이 오는걸 ESP로 대신.
}

int main()
{
    printf("ESP : 0x %x \n", get_ESP());
    return(0);
}

이런식으로 하면 모든 프로세스의 스택시작주소(물론가상주소)를 가져올수 있는다는데 실제 돌려보니 값이 항상 변합니다.
모든 프로세스의 스택의 시작주소는 항상 같아야 하지않나요?
아니면 위의 코드가 잘못된것인가요?

jagalchee의 이미지

자식 프로세스가 죽을 때, 발생하는 SIGCHLD 의 개수는 자식의

멀티 프로세스 모드의 프로그램을 짜고 있습니다.
(fork() 이용)

일반적으로 자식이 죽을 때, 좀비로 남아 있게 하지 않기 위해서 자식이 죽을 때 부모가 SIGCHLD 를 받으면 특정 핸들러를 호출하도록 하는 걸로 알고 있는데요.

제가 궁금한 것은 자식이 죽을 때 마다 죽는 자식의 수 만큼의 SIGCHLD 를 받아서 정확한 수 만큼의 핸들러를 호출하는 것인지가 궁금합니다.
(예전에도 이와 비슷한 질문이 올라왓던거 같긴한데...^^;)

jenix의 이미지

쉘코드 중에 궁금한점이있는데;

[code:1]

char shellc0de[] =
"\xeb\x2a" //jmp 0x2a
"\x5e" //popl %esi
"\x89\x76\x08" //movl %esi,0x8(%esi)
"\xc6\x46\x07\x00" //movb $0x0,0x7(%esi)
"\xc7\x46\x0c\x00\x00\x00\x00" //movl $0x0,0xc(%esi)
"\xb8\x0b\x00\x00\x00" //movl $0xb,%eax
"\x89\xf3" //movl %esi,%ebx
"\x8d\x4e\x08" //leal 0x8(%esi),%ecx
"\x8d\x56\x0c" //leal 0xc(%esi),%edx
"\xcd\x80" //int $0x80
"\xb8\x01\x00\x00\x00" //movl $0x1,%eax
"\xbb\x00\x00\x00\x00" //movl $0x0,%ebx

lkjt의 이미지

recv함수는 버퍼에 받아 논것을 보내주는 거죠?

recv함수는 버퍼에 받아 논것을 보내주는 거죠?

즉, 잘라가면서 찾거나, 한꺼번에 받아서 찾거나

속도는 마찬가지이죠???

lkjt의 이미지

헤더를 바꾸어 보내도 응답이 같습니다.

아무리 바꾸어 보내도

응답 헤더가

HTTP/1.1 200 OK

Date: Sat, 15 May 2004 14:13:22 GMT

Server: Apache/2.0.47 (Unix) PHP/4.3.3

X-Powered-By: PHP/4.3.3

Connection: close

Transfer-Encoding: chunked

Content-Type: text/html; charset=KSC_5601

이렇게 같습니다.

센드는 제대로 헷는데요,

페이지

프로그래밍 QnA 구독하기