프로그래밍 QnA

ddoman의 이미지

realloc에 대해서..

어떤 코드를 보다보니 realloc을 쓴 코드가 보이더라구요..
몇년동안 코드를 보아오면서 realloc을 적용한 코드는 처음 봤는데
정확한 이유는 몰라도 그냥..realloc이라는 함수에 대한 이미지가 안좋았거든요

아마도 내부적으론 기존의 메모리를 없에고 다시 새로운크기만큼 재할당이겠죠? 설마 진짜 기존껀 냅뚜고 연장이라는 개념이 가능하진않을거같아시리..(추측)
암튼..
그 코드에선 realloc을 적용시킬 버퍼가 어짜피 몇바이트 안되는것들이라서
재할당해도 별 오버헤드가 없을거 같다는 생각에 realloc을 쓴거라고 생각했는데 궁금중이 생겨서요.

topbanana의 이미지

_exit과 exit 의 차이점에 대해

안녕하세요.
unix c programming공부를 하고 있는데요,

_exit 과 exit 함수의 차이점이 이해가 안가
아시는 분들의 조언을 구하려고 합니다.
전자는 호출한 프로세스를 즉시 종료시키는데,
호출돤 프로세스의 모든 오픈 파일 디스크립터가 닫히고,
종료 상태값을 부모에게 반환한다
반면에 후자는 ANSI C atexit 함수로 등록한 함수를 호출하며 ,
표준 입출력 버퍼를 비운다.
위와 같이 두 함수의 차이점을 이해했는데요,
그렇다면 main함수내에서 exit을 호출해 줬을때는,

rhs0517의 이미지

php script 파일을 파싱한 결과가 아파치 서버로 리턴되지 않는

안녕하세요. 전 php 개발자인데요.
얼마전에 제가 개발한 사이트에서 이상한 현상이 발생했는데 해결 방법을 찾을 수가 없네요. ^^;;

제 사이트는 solaris 2.8 에서 apache server 1.3.26, php 4.0.6 을 이용하여 사이트를 운영중입니다. php 는 shared apache module 로 컴파일했습니다.

apache server log 에 php request 결과가 http status 는 "200", http body size 가 "-" 인 경우가 하루에 5 ~ 6 번씩 남아있습니다.
이런 log 가 남는 이유는 php script 를 파싱한 결과가 apache server 의 타임아웃 시간 5분을 지나도 return 되지 않았기 때문인데, 왜 php script 를 파싱한 결과가 return 되지 않는지 이유를 모르겠습니다.

rockme의 이미지

유니코드에 대한 질문

한글 표현에 대한 관심이 있어 여러가지 테스트를 해보고 있습니다. 그런데
'▨' 이런 문자를 2바이트 데이터형에 넣어서 16진수를 출력해보니 a2c9라 나오더군요 그래서 유니코드 테이블에 찾아보니 위의 문자가 아니라 6이란 숫자(아스키코드 6이 아니라)이더군요. 그럼 위의 문자는 유니코드가 아니란 말인데 그럼 위의 문자를 쓸때는 어떤 인코딩방법을 쓰는지 궁금합니다.

그리고 유닉스에서는 보통 한글을 표시해 줄때 어떤방식을 쓰는지도 좀

popo의 이미지

libnet 에러 좀 봐주세요...

packetfactory에서 libnet 소스를 받아서 컴파일 하려는데 안돼서

rpm(libnet-1.0.1b-1.i386.rpm)으로 설치했더니 설치는 잘 되었습니다.

그런데 packetfactory에서 받은 예제소스를 컴파일 하려니 아래와 같은 에러가 뜹니다. 옵션도 잘해준거같기도한데 libnet소스를 make할때 나오는 에러랑 비슷한 에러가 나오네요..

왜 이런지..해결책은 무엇인지 아시는분있으시면 작은 코멘트라도 반기겠습니다.

제 시스템 환경도 올립니다..

cpu - x86
gcc version 2.96
glibc-2.2.4-5

eogusl의 이미지

[질문] fork() 후 자식 프로세서에서.. ^^

main ()
{
CString* a;
a = new CString;

if(!fork())
{
delete a; <== 필요한가요?
exit(0);
}

delete a;
return 0;
}

초기에 힙에 할당한 메모리를 자식 프로세스에서도
해제를 해야만 하나요? ^^

초짜라 ^^ 답변 부탁드립니돠~

불량청년의 이미지

fork(); 프로그램에서...

다름이 아니오라, fork();함수 사용에서 의문점이 있어서 그러는데요.

아래 간단한 소스를 컴파일 시키고 리다이렉트 시키면 결과과 다르게

나오는데 왜 이러는지요?

[code:1]#include <unistd.h>
#include <sys/types.h>

int global = 6;
char buf[] = "write to stdout\n";

int main(void)
{
int var;
pid_t pid;
var = 55;

if(write(STDOUT_FILENO, buf, sizeof(buf)-1) != sizeof(buf)-1)
perror("write error");
printf("before fork\n");

miso의 이미지

accept 함수에서....

제가 지금 서버를 만들고 있는데요...
socket과 pthread를 사용해서요....
그런데....
이상하게 packet을 주고 받기를 못하는 거예요...
그래서.. 이것 저것.... 하다가 알아 낸것이...
accept 함수에서 소켓을 만들잖아요.. 그런데.. 이 소켓이 계속 같은 소켓만 만드네요..

UserSocket = accept(m_ListenSocket, (struct sockaddr *)&UserAddr, (socklen_t*)&nLen);
printf("socket : %u\n", UserSocket);

에서 socket을 printf함수로 찍어 봤던니... 계속 같은 숫자만 찍네요..
window에서는 다른 숫자를 찍어는요...

은영신랑의 이미지

소스를 하나 분석하고 싶은데요...

회사에서 사용하는 프로그램을 하나 다운 받았는데요.
Device driver랑 사용자 프로그램 모두가 소스까지 있기는 한데요.

분석좀 하려니깐 이거 장난이 아니네요..
사실 이걸 이용해서 application 만드는것은 어느 정도 하겠는데,
Device driver부터 공부하려니깐 너무 어렵네요..
또 안하자니 뭔가 빠진것 같아서 안되겠고요.

여러분들은 어떤식으로 공부하시는지 궁금해서요..
지금은 처음부터 소스 보고, 책보고, 여기서 찾고 하면서 시작하고 있네요..

plxer의 이미지

답변 감사드립니다. 그렇다면?

CORBA를 가지고 아래의 일을 진행할 수 있을지요?

여러가지 일을 하는 시스템의 각각 분야를 한 가지 일마다 제각각의
사람이 다른 언어를 가지고 코딩을 했다고 했을때,
시스템 관리자(?)가 각각의 프로그램을 제어하기 위해서
메인 GUI프로그램을 만들고 COBRA를 이용해서
제각각 만들어 온 프로그램들을 통합하는일!

말이 어렵나요?
음.. 예를 든다면
한사람은 4개의 CCD를 통한 입력을 1, 2, 3, 4번의 선택을 통해
모니터에 뿌려주는 프로그램을 윈도우 상의 VC로 짰다.

페이지

프로그래밍 QnA 구독하기