프로그래밍 QnA

mepeace의 이미지

make내 변수 사용은 ?

안녕하십니까 ?
make 명령에서 Makefile을 만들어서 컴파일하고 있습니다.
Makefile 내용중 일부는 다음과 같습니다.

BFLAG_UPDATE=NO

libTEST.a : test.o
ifeq ($BFLAG_UPDATE, YES)
ar -r libTEST.a test.o
endif

test.o: test.h
gcc -c -o test.o test.c
BFLAG_UPDATE=YES

위의 파일을 Makefile로 만들어서..수행을 시키면..
test.c가 컴파일 되는 시점에서...ar -r 명령어가 수행되고자 합니다.

분명..gcc가 수행된후..ifeq에서 $BFLAG_UPDATE는 원래값이 NO가 되어있습니다. 저는 $BFLAG_UPDATE를 변수처럼 사용하여..YES로 변경할려고

sirang의 이미지

structured data의 통신은 어떻게 하나요 ?

안녕하세요.

socket으로 통신할때, 기본적으로 character의 stream을 주고 받는데요,
만약
struct my_data {
int a;
int b;
}
위와같은 structure를 주고 받고 싶으면 어떻게 해야 하는거죠 ?

읽는 함수는 read()를 이용할 생각이구요.

제가 생각하고 있는 것은 다음과 같습니다.

char buf[MAX];
struct my_data * my;
read(fd, buf, MAX);
my = (struct my_data*)buf;

이렇게 하고나서 아래와 같이 사용할 수 있는 건가요 ?
tmpa = my->a;
tmpb = my->b;

naraping의 이미지

[질문] Linux Kernel Module Programming Guide에 있는 소스 에?

[root@NARAPING modulePrograms]# make
gcc -O2 -DMODULE -D__KERNEL__-W -Wall -Wstrict-prototypes -Wmissing-prototypes-i
system /lib/modules/'uname -r'/build/include -c -o hello-1.o hello-1.c
gcc: cannot specify -o with -c or -S and multiple compilations
make: *** [hello-1.o] 오류 1

문서에 있는 그대로 쳤는데 에러가 나네요. 어떻게 하면 되나요?

---------------------------------------------------------------------------------
hello-1.c
---------------------------------------------------------------------------------
[code:1]#include <linux/module.h> //모든 모듈에 필요

sadrove의 이미지

printf()가 안된다?...

소켓 프로그래밍중입니다..
처음 코드 부분이 아래와 같은데요..
제일 아래 부분을 보면
printf("여기");
란 부분이 있죠...
그럼 그 아래부분 코드가 잘못되었건 말건...
"여기"란 글자는 출력되어야 하지 않나요.?
그냥 선언과 include만 했을뿐인데...
분명 컴파일도 이상없고요...
printf("여기"); 의 아래부분은 소켓 생성하고..접속하고..머 그런부분입니다..
그런데 실행하면 아무것도 안나온 상태에서 화면에 아무것도 안 나옵니다..ㅡㅡ;
이럴 경우엔 보통 어떤 부분을 살펴봐야 할까요..

moonzoo의 이미지

헤더에 extern?

헤더에 Global function을 선언할때

extern 키워드를 사용하는 것과

그냥 함수 선언만 하는 것중에

어떤 것이 바람직한가요?

하하의 이미지

정수형값을 char 형에 저장하려면?

int num = 356;

값을 2개의 charactor형에 넣어 표현하려 합니다.

단, 2개의 charactor형의 표현 범위를 넘길 경우 범위를 벗어났다고

치고 버립니다.

[code:1]
main ()
{
int num=356;
char buf[2];

// 이럴경우 정수형의 값중 2byte범위에서 표현할수 있는 수를
// 각각의 1byte char type 에 넣습니다.
x[0] = ((24 << num) & 0xff000000) >> 24;
x[1] = ((16 << num) & 0xff000000) >> 24;

ungqum77의 이미지

One Process per One Client이용시 프로세스간 통신에 대해서

하나의 클라이언트가 접속하면, 새로운 프로세스를 생성해서, 다자간 채팅 서버를 구성하고 있습니다(리눅스 처음배움...)
그런데... 배틀넷(스타)에서의 채널 처럼 관리 하려고 하는데요....

서로간의 통신이 안되는 군요...

파이프를 이용해 보려구 하는데요, 자식 과 부모 한개 사이의 활용만 나와 있는것 같구요...
기본적인 윈속의 개념을 이용해서 하려니까, 한계점에 다다릅니다.

저는 하나의 자식 프로세스가 계속 while을 하면서 read하는 형태로 코드를 짜 나갔습니다.

gp1990의 이미지

[질문] FTP Client 프로그램 입니다.

안녕하세요 왕초보입니다.

제가 FTP Client 프로그램을 한번 만들어 볼려고 합니다.

STD C/C++ 에는 FTP 프로그램을 만들 수 없다고 하는데요

어떤분이 그러는데 특정 LIB에 사용 인터페이스가 있다고 들었습니다.

고수님들의 지도 와 답변을 부탁드립니다.

hatbary의 이미지

SIGSTOP시그널을 만나다..

안녕하세요..기억하실랑가 몰겠지만 얼마전에 질문올린 사람임다..ㅋㅋ

지난번에 prefork로 서버 만들어놨었는데, 얘가 한참 잘돌다가 어느 순간 프로세스는 살아있구, 아무 동작도 안한다구, 그 원인을 알고 싶다고 질문을 올렸었는데...

오랜기다림(?)끝에 strace를 통해서 일단 멈추는 부분을 잡긴 잡았거든요..

read(5, <---요렇게 멈춰있구, 이 프로세스는 SIGSTOP시스널을 받았더군요..

그래서 혹시나 해서 SIGCONT시그널을 줘봤는데, 이넘은 들은척 만척..ㅡㅡ;;

mepeace의 이미지

make시 명령 실행 조건에 관한 질문.

안녕하십니까 ?

Redhat Linux 9을 PC i686에 설치하여
Makefile을 이용한 gcc를 사용하고 있습니다.

문제가 되는 Makefile에서 내용의 일부를 발췌하면
libA.a : A_linux.o
ar -r libA.a A_linux.o
위 2줄의 내용은 A_linux.o가 libA.a 보다 최근 시간이면
ar 명령을 수행하는 것이라 알고 있습니다.
최근 시간의 조건이 libA.a 변경 시간 < A_linux.o 변경시간인 경우입니다.

linux에서 파일의 변경시간은 2003-12-02 17:39:23.000000000 +0900
와 같이..초단위가 최소입니다. A_linux.o와 libA.a가 동일한 시간 (같은 초)에

페이지

프로그래밍 QnA 구독하기