프로그래밍 QnA

leolo의 이미지

메모리 누수현상 찾기..

다음은 C로 작성한 CGI파일 입니다..
다음을 연속적으로 여러번 실행하면
메모리 누수 현상이 발생합니다.
도대체 어디에서 발생하는지 좀 알려주세요.
아님.. httpd 데몬에 문제인지 알고 싶습니다.
지금과 같은 경우는 입력폼으로 부터 어떠한 값도 받지 않으므로
결과는 다음과 같이 나옵니다. "Got 0 pairs"

[code:1]
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#define TEST 1

struct cgi_object {
char *name;
char *value;

simpid의 이미지

VI 에서 탭 크기는 어떻게 지정해야 합니까?

vi는 tab이 기본적으로 8인것 같은데...
조정을 하고 싶습니다.

kldp.org에서 뒤져 보니까.. /usr/vimrc란 파일에서 set tabstop=4 로 하면 된다고 되어 있는데..
/usr/vimrc가 없더군요.
검색해서 /usr/share/vim/vim61/macros/vimrc 에서 찾아서 수정해서 잘 되는데..

이런 설정 파일이 아닌... vi를 실행중에 변경할 수 있는 방법을 알고싶습니다.

simpid의 이미지

gdb 로 디버깅할때 실행 인자 어떻게 해줘야 하죠?

라인 디버거를 처음 사용하는거라 gdb 재미있군요.

다양한 기능은 아직 사용하진 못하지만...
많은 사용하는 기능은 대충 파악하고.. 사용하고 있습니다.

제가 궁금한건 디버깅할 프로그램에 인자를 주는 방법입니다.

gdb program arg...
gdb "program arg..."

등으로 실행해 봤지만.. 안되네요. ^^;

실행 인자를 주어 디버깅을 시작하려면 어떻게 해야 합니까?

leolo의 이미지

메모리 동적 할당과 해제..

다음과 같은 메모리 동적할당에서..
메모리 free는 어떻게 하나요..
현재 보시면.. new는 동적으로 할당된 cgi_object의 주소를 가지고
new->name과 new->value를 위한 동적 메모리 할당이 된 상태입니다.
이 경우 첫번째 시작 노드를 가리키는 변수가 있다면,
예를 들어 struct cgi_object *list = NULL; 이 첫번째 노드를 가리킨다면,
어떻게 메모리를 해제할까요?
아주 간단한건데도 제 생각대로 해봤는데도 메모리 누수가 생깁니다..
원 구조체..
struct cgi_object{
char *name;

lyw1100의 이미지

포인터 배열에서....

[code:1]
1 static char *daytab[2] = {
2 {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
3 {0, 31, 29, 31, 30 ,31, 30, 31, 31, 30 ,31, 30, 31}
4 }
5
6 int day_of_year(int year, int month, int day)
7 {
8 int i, leap;
9
10 leap = year%4 == 0 && year%100 != 0 || year%400 == 0;
11 for (i = 1; i < month; i++)
12 day += daytab[leap][i];
13 return day;
14 }
15
16 void month_day(int year, int yearday, int *pmonth, int *pday)

은영신랑의 이미지

프로세스 몇개가 같이 도는 프로그램을 만드는데요...

프로세스를 여러개 만들어서 돌리는 프로그램을 만드는데요,

이 프로세스들은 목적은 각각의 하드웨어 장치를 읽어들이고,
통신하고 그러는 것인데요. 3개가 있고요.

하나의 Digital Input에서 몇개의 값을 읽고,
다음 프로세스에서 그 값을 serial1 을 이용하여 write하고,
또 serial2를 이용하여 write하는것입니다.
우선 각각의 일을 프로세스로 정의하고, 공유메모리를 사용하여서
처음 입력이 잘되었으면 serial 1,2를 차례로 쓰게 해야 되구요.
각각의 일들이 처음에 초기화 과정을 거친후에는 계속해서 자기차례가 되면

urmajest의 이미지

디버깅을 할때에 signal을 발생시키기..

안녕하세요

예를 들어서 코드에,

setitimer나 alarm등의 시스템 콜을 사용해서 SIGALRM을 발생시키도록하고

SIGALRM에 대한 핸들러가 정의 되었을 경우에 그 시그널 핸들러 부분을

디버깅하려고 하는데, 어떻게 하죠? (워낙 무지합니다 -_-)

혹시 디버깅툴에서 사용자의 임의로 SIGNAL을 발생시켜줄 수 있는

방법이 있나요?

어딘가에 관련 문서가 있을 듯한데 보이지않네요 -_-

그럼 즐거운 금요일 저녁 되세요

cpulpul의 이미지

x86에서의 file open시 에러

안녕하십니까

프로그램 개발중 생긴 버그에대해서 글을 올립니다.

x86에서 프로그래밍중.. file open 하는 함수가 있지요.. (stat, open, fopen....등등)
으로 화일 열때.. 화일 크기가 일정크기 이상 증가하면
errno 79번이 걸리는 현상이 발생합니다.

아래는 errno.h에있는 errno 79번 메시지입니다.

#define EOVERFLOW 79 /* value too large to be stored in data type */

sparc에서는 문제가 발생하지 않습니다..

x86의 cpu 특성때문(Little Endian)이라고 추측만 하고 있습니다..

assasasa의 이미지

파일의 일부분만 mmap 을 이용하여 저장하고 싶습니다.

안녕하세요~

lseek 함수를 이용하여, 시작위치(start_offset)를 찾았습니다.
이 start_offset 을 mmap 을 이용하여, memory 내에 복사한 다음에
파일로 저장하려고 합니다.
코드는 다음과 같은데, 출력된 파일은 크기가 0 입니다.
즉, mmap 에서 return 되는 src의 크기가 0 입니다.
특정한 위치(start_offset) 로 부터 seg_size(bytes) 만큼 저장 하고 싶은데,
잘안됩니다.
조언을 부탁드립니다.
[code:1]
if( (fd_outfile = open(store_outfile, O_WRONLY | O_CREAT,0644))<0 )

zini08의 이미지

최소 자바 환경...

안녕하세요...
개발중인 target board에 java가 필요하게 되었습니다
target board에는 최소한의 필요한 lib와 커널만 있는 상태구요..
jre를 다운받아서 설치하고
java실행시 필요한 라이브러리들을 원래의 시스템에서 복사해서 넣었습니다
현제는 25M정도 된것같은데요..^^;;
어쨌든 문제는 그냥 hello world같은 프로그램은 돌아가지만
실행시켜야하는 소스에서 다음과 같은 error가 납니다

----------

java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

페이지

프로그래밍 QnA 구독하기