프로그래밍 QnA

kkojiband의 이미지

메세지 큐 사용시에 IPC_CREAT flag...?

linux-2.4.20 에서 간단한 메세지 큐를 사용하는 프로그램을 작성중인데요,

이상한 문제가 발생했습니다...

qid = msgget( (key_t)0x107, IPC_CREAT | 0x660 );

이런 식으로 IPC_EXCL flag 를 주지않았는데도 EEXIST 오류가 발생합니다...

대체 왜 이럴까요?

생각지도 않은 곳에서 막히니 정말 답답하네요...--;

고수님들 도와주세요~

sozu의 이미지

제가 만든서버를 Ping으로 테스팅 하려면?^_^

제가 만든 서버를 Ping을 통해 테스팅 하고 싶습니다.^^

대충이라도 알려주셨으면 합니다~

지금 인터넷 찾는중( .. )

곤의 이미지

-D 옵션에서 문자열을 지정하려면...?

#define _STR1_ "abcd"

라고 정의하는 대신에 Makefile에서

-D_STR1_="abcd" 라고 정의해서 사용하려고 했는데...

원하는 결과가 안 나오네요.

프로그램에서 _STR1_을 사용하면 그걸 "abcd"로 치환하는 것이 아니라,
abcd로 치환해 버리는 것 같은데... 그래서 컴파일 에러나 나네요.

이걸 막을 수 있는 방법이 있는지?

답변 부탁드립니다.

artoss99의 이미지

[다시질문] system() / execle()

아래 질문에 답변해 주셔서 감사합니다. 근데 아직두 잘 이해가 안가네요.-_-;

system("/usr/bin/csh");
execle("/usr/bin/csh","csh",NULL);

아래 답변해 주신것처럼 저두 exec()와 system()의 차이때문에 위의 system()에선 쉘이 떨어지고 아래 execle()에선 쉘이 안떨어지는 걸루 생각했었는데 그게 아니네요.
strace로 살펴보니깐..

execve("/bin/csh", ["csh"], [/* 57 vars */]) = -1 EFAULT (Bad address)

이런 에러가 나서 execle()에선 쉘이 안떨어진거 였네요.-_-;
근데 왜 저런 에러가 난걸까요?

angel17th의 이미지

apache내의 ab.c에 대한 질문입니다.

지금 이 코드는 약간 변형해서 사용해보려고 하는데요.

단순히 apache 전체를 install 하는 것이 아닌

ab.c만 컴파일해서 사용하려고 하는데요.

이렇게 하려면 어떻게 해야 하나요?

단순히 gcc ab.c 하니깐 안 되던데요.

고수님들의 답변 부탁드립니다.

creat23의 이미지

kernel에 log10함수를 쓰고 싶습니다.

kernel에서 math library를 사용할 수 있나요?

없을 것 같아서 직접 int log10(float) 을 직접 만들어 쓰려 하는데요.
(또는 int log2(float))

혹시, numeric analysis 하시는 분들 중 log 함수 구현해 보신 분 있으면
소스 좀 부탁드려요.......

rosproject의 이미지

문자열을 합치는 함수가 있나요..?

str1과 str2 문자열을 하나로 합쳐서
str1에 담고 싶은데요..
그런 역할을 하는 함수 이름이 뭔지 좀 알려주시면 감사하겠습니다..

sorcerer의 이미지

자막 같은 어떤 양식이 있는 텍스트 파일의 파싱(?)

자막과 같은 어떤 양식에 의해 내용이 맞춰진 파일들에서 필요한 데이터를 뽑아내는 것은 어떻게 하십니까? C를 사용해서 하려는데, 그냥 무식하게 한 줄씩 읽어 일치하는 문자열을 찾아 하는 방법도 있긴 하겠지만... 그래도 너무 무식한 것 같고...

XML이라면 전용의 파서를 사용하겠지만, XML 파서가 만들어진 방법도 궁금하네요. lex와 같은 툴을 사용하는건 어떤가 라는 생각도 해봤지만 아직 테스트는 못 해봤네요.

여튼, 혹 이러한 것에 조언을 주실 분 계신가 합니다. 지금은 일단 mplayer에서

whatisid의 이미지

fork() 후에 execv() 실행

서버 소스를 보고 있는데요.

fork() 후에 child process에서 execv()를 호출해서 다른 바이너리를

실행하더군요.

제가 짠 로직은

if ( (pid = fork()) == 0)
{
    function_child();
}

이거고, 해당 소스는

if ( (pid == fork()) == 0)
{
    execv("./child_binary",argv);
}

더군요.

제 짧은 지식으로는 굳이 execv()를 수행할 필요가 있는지 모르겠습니다.

그냥 child process 에서 함수로 해당 로직을 수행해버리면 되는거 아닌가요?

운형의 이미지

웹 인터페이스(cgi 관련)

[code:1]
if [ "$FORM_COMMAND" = "Connect" ]; then
/usr/bin/sudo /bin/report_trafficStats
cat /var/www/report/trafficStats.html
touch /var/www/report/TEST
fi

페이지

프로그래밍 QnA 구독하기