프로그래밍 QnA

roeoen의 이미지

C 소스 질문입니다..

지금 제가 도서관리를 짜고 있는대 소스 한줄이 해석이 안되는게 있어서...
while(1)
{
printf("book : ");
gets(bt.book);

while(read(infd, &save, sizeof(BOOKTYPE)+1) > 0)
{
if(strncmp(save, bt.book, sizeof(BOOKTYPE)+1) == 0){
printf("\n같은 책의 제목이 있습니다.\n");
break;
}
}
if ((strncmp (save, bt.book, sizeof(BOOKTYPE)+1) == -1) || (strncmp (save, bt.book, sizeof(BOOKTYPE)+1) == 1)) break;
lseek(infd, 32L, SEEK_SET);
}

이소스 중에서 if 문으로 시작되는 젤 마지막 부분해석이 안되서~

dolhani의 이미지

소스 분석 툴 질문

unix 환경의 c 로 된 소스를 분석하려고 합니다.
(pro*c 로 짜여진 소스입니다.)

doxygen 과 vim + ctags 를 사용해서 소스 분석을 하고 있는데요
main에서 어떤 순서로 함수들이 호출되며, 프로그램이 구성되어있는지 분석해 주는 툴이 추천해 주시면 감사하겠습니다.

kldp bbs에 올라온 source navigator 와 cscope 는 지금 살펴 보고 있습니다.

irdeal의 이미지

[질문] snmpwalk는 잘되는데 snmpget이 잘안됩니다

안녕하세요. snmpd를 설치해할 일이 생겨서 Net-snmp-5.2.1을 설치하였습니다. 초짜라 그런지 어려움이 많네요. 고수님들의 도움을 부탁드립니다.

정상적으로 동작한는지 확인을 하려고
snmpget -c omni localhost sysLocation.0
snmpget -c omni localhost system.sysLocation.0
등의 명령을 내려보았는데요

sysLocation.0: Unknown Object Identifier (Sub-id not found: (top) -> sysLocation)
이런식의 메시지가 나옵니다.

snmpwalk -c omni localhost 라고 명령을 내리면

iso.3.6.1.2.1.1.1.0 = STRING: "Linux omniswtest 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686"

kknd345의 이미지

[질문] const 포인터가 헷갈립니다.

const int * pOne;
int * const pTwo;
const int * const pThree;

위에 3개가 무슨 차이인가요?
책에 설명이 대충 되어 있어서 아무리 봐도 이해가 안 갑니다.

가르쳐주세요.

new2ind의 이미지

배열 선언시 크기를 변수로도 받아들일 수 있나요??

배열 선언시 크기는 항상 상수가 되야한다고 알고 있는데, 크기를
변수로 넣어도 컴파일이 되네요?

int nTmp = 10;
int arrayTmp[nTmp];

gcc 3.2.2를 사용하고 있는데, 위와 같은 문장이 컴파일이 되고
문제없이 실행도 됩니다. vc6나 vc.net은 컴파일이 안됩니다..

이게 정상적인 코드인지(표준으로 채택된건지..) 아니면 문제가
생길 소지가 있는지 궁금합니다..

zzzy의 이미지

rollback 과 rollback work release 의 차이점이 무엇인가요?

Pro*c에서 exec sql의 트랜잭션을 취소할때
rollback 과 rollback work release가 있던데

무슨 차이인가요?
또 commit과 commit work release 도 차이가 있나요?

오늘도 즐코하세요

sunbee의 이미지

i/o multiplexing & thread 에서..

nonblocking 소켓입니다.
main thread에서 io_thread를 하나 생성하고,
io_thread에서 work_thread를 여러개 생성하였습니다.

io_thread는 select() 하고 데이타를 recv() 합니다.
그리고나서 놀고있는 work_thread를 찾아 recv한 데이타를 넘깁니다.

[code:1]
/* work thread */
struct {
pthread_mutex_t mutex;
pthread_cond_t cond;
int ready;
int sfd; /* 이벤트 발생한 소켓 */
int status; /* 1 is running, 0 is sleep */
char buff[MSG_BUFFER];
}WK_thread[MAXNTHREADS];

shs0917의 이미지

오토마타 구현에 대해서요..

예를 들어 오토마타로 C의 변수를 인식하는걸 표현하면..

<id>=><letter><rest>
<rest>=><letter><rest> | <digit><rest>| NULL
<letter>=>a|b|c|...|Z
<digit>=>0|1|2|....|9

이걸 프로그래밍으로 구현을 하려면 어떤식으로 해야 할까요..
그냥 입력된 문자열을 하나하나 if/else로 비교해나가기만 하면
되나요?

irdeal의 이미지

[질문] 특정문자열을 찾아서 원하는 문자열로 바꾸어주는 방법에

얼마전에 회사에 들어와서 리눅스 상에서 작업을 하게 됬는데, 초보라 많은 부분이 막힙니다.

여러 프로그램들을 설치를 해보고 있는데 설정상 경로를 수정을 해주어야 하는 경우가 많습니다. 하나하나 수정을 하고 있는데요, 어떤경우는 똑같은 수정을 여러군데 해주어야 하는경우가 많아서요 이를 좀 편하게 하려면 어떻게 해야할까요?

예를 들어서 이런 경우입니다. ldk라는 디렉토리가 있다고 하면 그 밑에 많은 파일들이 /usr/lib/ldk 라는 문자열을 가지고 있습니다. 이것들을 /home/irdeal/ldk 라는 문자열로 바꾸어 주고 싶거든요.

thisrule의 이미지

메모리 프로파일러 사용법 관련 질문드려요

리눅스상에서 C/C++로 프로그래밍 중이며, GUI는 Qt Library를 사용합니다.
지금까지 개발한 프로그램을 사내에 배포하여 사용중인데 오늘 갑자기 메모리 프로파일러를 돌려보고 싶었습니다.(RedHat 9.0에 설치된 메모리 프로파일러)

사실 프로파일러가 뭐하는지도 잘 모르겠고 사용법도 잘 몰라 일단 수행하고 보았습니다. 그런데 첨부한 그림과 같이 Leaks라는 부분에 여러 항목들이 올라옵니다.
Leaks라 하면 메모리누수를 말하는거 아닌가요?
그렇다면 제가 만든 프로그램에서 수많은 메모리누수가 있다는 건가요?

페이지

프로그래밍 QnA 구독하기