프로그래밍 QnA

kknd345의 이미지

공유메모리 초기화에 관한 질문입니다.

같은 프로그램인데 여러번 프로그램을 실행시켜

프로세스를 여러개 만들어서 그 프로세스끼리 데이터를 주고 받기 위해

공유 메모리를 설정했습니다.

그런데 문제가 공유 메모리를 int cnt_number==0 일때 memset으로 초기화 할려고 했는데... 쓰레기 값으로 인해서 초기화가 안 되길래 ...
cnt_number < 1 || cnt_number > MAX_NUMBER 일때 초기화 할려고 했는데... 쓰레기 값이 딱 가운데에 있네요ㅜㅜ..

어떤식으로 초기화 하면 좋을까요?

[code:1] shmid=shmget((key_t)200424398,sizeof(struct shared_use_st),0666 | IPC_CREAT);

jyj9782의 이미지

커널 2.4.x 에서 execve 시스템콜 후킹시 문제..

오랜만에 글올리는군요 ^^

요즘 레드햇 리눅스 7.3 을 설치해서

lkm 을 하나 작성중이거든요.

execve 콜을 후킹해서 제 함수로 고쳤습니다.

실제 execve 콜에서 사용되는 코드를 그대로옴겨왔기

떄문에 기능은 정상적으로 모두 되었어요.

근데 문제가 생기더라구요.

모듈을 올리고 쉘상에서..

make 나 su 같은 프로그램을 수행하면

제함수에서 세그먼트 오류가 생겨서 커널에서 알려오더라구요.

도저히 감을 잡을수가 없어요.

asmlinkage 키워드가 붙어있는거라서 그런건지.

kelven의 이미지

이제 막 시작하려 합니다.. 어떤 프로그램을 사용하는 게 좋을까

일단 호스트로 쓸 PC에 윈도우와 우분투 리눅스를 깔았습니다..

5년 전 Turbo-C++ 3.1 이후로 처음 써보는 C라 GUI 환경이 생소하기도 하고.. ㅎㅎ;

지금 프로그래밍 하시는 분은 어떤 환경에서 작업하고 계시는지 궁금하구요..

GUI 프로그램을 만들려 하는데, 문제는 리눅스와 윈도우에 둘 다 작동하는 게 필요합니다..

타겟 시스템에 깔리는 그래픽카드와 사운드카드가 제각각이라.. DOS용 프로그램-_-을 만들려고 시도했지만 타겟시스템마다 노가다를 해줘야 해서.. 포기했습니다;;

lacovnk의 이미지

세그먼트폴트, make new 하니 사라지다?

all: db
        ctags *.*
db: lacodb.o db.o
        $(CXX) -Wall -W -ldb_cxx-4 -o db db.o lacodb.o
db.o: db.cpp lacodb.hpp
        $(CXX) -Wall -W -c db.cpp
lacodb.o: lacodb.cpp lacodb.hpp
        $(CXX) -Wall -W -c lacodb.cpp
clean:
        rm db db.o lacodb.o lacovnk.db tags -rf
new:
        $(clean)
        touch db.cpp
        make

이리저리 수정하다가.. test 돌려보니 갑자기 seg 폴트가!! -o-

패닉 빠져서 svn diff 하는데 도통 이유가 보이지 않고..

lacodb.cpp에서 exception 처리 부분을 추가하고 컴파일해도 사라지지 않고..

swunk의 이미지

리눅스에서 tcp slow start and congestion avoidance 동작에 관

아래 코드는 tcp slow start와 congestion avoidance가 구현되어 있는 리눅스 코드 입니다. tcp_input.c에 정의 되어 있습니다.

[code:1] 1699 static __inline__ void tcp_cong_avoid(struct tcp_opt *tp)
1700 {
1701 if (tp->snd_cwnd <= tp->snd_ssthresh) {
1702 /* In "safe" area, increase. */
1703 if (tp->snd_cwnd < tp->snd_cwnd_clamp)
1704 tp->snd_cwnd++;
1705 } else {
1706 /* In dangerous area, increase slowly.

marantz의 이미지

Pro*c Pre-Compile 후 *.c 파일의 삭제를 막으려고 합니다.

날도 우중충한데 우중충한 질문을 스브슬쩍 올려봅니다.

Make Rule 에 다음과 같이 Build Rule 을 등록하여 Oracle Pro*c Pre-Compile 후 Linking 까지 수행합니다.

.SUFFIXES: .o .c .pc

.pc.c:
    $(PROC) $(PCCFLAGS) $(PCCINCS) iname=$*.pc oname=$*.c

.c.o:
    $(CC) -c $(CFLAGS) $(DFLAGS) $(INCS) $<

이렇게 되었을때 모든 Make Rule 작업을 마치고


rm blahblah1.c blahblah2.c blahblah3.c

을 수행해 버리면 .pc -> .c Pre-Compile 한 것이 날아가버리게 되서 디버깅하기 상당히 불편하게 되는데요.

uyalco의 이미지

configure의 사용방법을 알려면 어떤 책을 봐야 하나요.

안녕 하세요.

항상 configure는 제공되던것을 사용만 하다가, 이번에 configure를 수정할 일이 생겼습니다. makefile 하고 비슷할꺼라 생각하고 봤는데, 뭔말인지.. 모르겠더라고요..

make는 오렐리에서 나온 make책을 보고 대충~~ 공부했습니다.

configure는 어떤책을 봐야 알수있을까요..

책 추천 부탁드립니다.

facered79의 이미지

memcmp사용시 문제..

memcmp 할 대상 두개를 cout 으로 찍어봤을때 값은 동일 하게 나옵니다. size 도 두개다 똑같고요..

이런 상황에서 반환하는 값은 1인데... 왜 틀리다고 나오는 것인지... 이에 대해서 조언 부탁 드리겠습니다.

lacovnk의 이미지

C에서 이미지 다루는 방법은?

막연하게, 파일을 읽어서 헤더로 기준을 잡고, 이후를 쫙 읽으면 된다고 알고 있는데...

이에 대한 code example이나 튜토리얼을 찾을 수 없을까요? 잘 안나오네요;;

mjikimys의 이미지

이 문제에 대한 알고리즘이 있나요?

K대의 차량이 V개의 장소에 물건을 배달 할 경우 배달시간을 최소화하는 알고리즘?
지도상에는 N개의 지점이 있고, 그 중 V개의 장소에 배달
지점들 사이에는 랜덤하게 길이 있으며, 역시 랜덤하게 배달시간 존재.
아무리 생각해도 모르겠습니다.
TSP 변형 같기도 하고...
에공...

페이지

프로그래밍 QnA 구독하기