나는 소스 코드 발견 dspcat.c
: http://www.smart.net/~rlhamil/를 . 이 tarball 에서 특히 . 컴파일을 시도했지만 변수가 없습니다.
$ make
cc -O -DSOLARIS dspcat.c -o dspcat
dspcat.c: In function ‘format_msg’:
dspcat.c:11:23: error: ‘NL_TEXTMAX’ undeclared (first use in this function)
static char result[NL_TEXTMAX*2+1];
^
dspcat.c:11:23: note: each undeclared identifier is reported only once for each function it appears in
dspcat.c: In function ‘print_file’:
dspcat.c:240:23: error: ‘NL_SETMAX’ undeclared (first use in this function)
int setlo=1, sethi=NL_SETMAX, msglo=1, msghi=NL_MSGMAX, x, y;
^
dspcat.c:240:49: error: ‘NL_MSGMAX’ undeclared (first use in this function)
int setlo=1, sethi=NL_SETMAX, msglo=1, msghi=NL_MSGMAX, x, y;
^
dspcat.c: In function ‘main’:
dspcat.c:338:30: error: ‘NL_MSGMAX’ undeclared (first use in this function)
if (msg_nr<1 || msg_nr>NL_MSGMAX) {
^
dspcat.c:353:32: error: ‘NL_SETMAX’ undeclared (first use in this function)
if (msg_set<1 || msg_set>NL_SETMAX) {
^
make: *** [dspcat] Error 1
변수 NL_SETMAX
가 시스템에 정의되어 있지 않습니다. 이 헤더 파일을 bits/xopen_lim.h
찾았습니다.이 변수가 있었기 때문에 변덕스러운 헤더 목록에 추가했습니다.
$ make
cc -O -DSOLARIS dspcat.c -o dspcat
dspcat.c: In function ‘format_msg’:
dspcat.c:11:33: warning: integer overflow in expression [-Woverflow]
static char result[NL_TEXTMAX*2+1];
^
dspcat.c:11:16: error: size of array ‘result’ is negative
static char result[NL_TEXTMAX*2+1];
^
dspcat.c:11:16: error: storage size of ‘result’ isn’t constant
dspcat.c:15:29: warning: integer overflow in expression [-Woverflow]
for (x=0; x < (NL_TEXTMAX*2) && *s != '\0'; s++)
^
make: *** [dspcat] Error 1
더 많은 시간을 가지고 있다면 이것으로 놀아 볼 것입니다.하지만 코드에서 직접 변수를 정적으로 설정하면 직접 컴파일 할 수 있다고 생각합니다.
strings
명령은 당신이 필요로하는 것을 얻기에 충분? 약간의 사후 처리가 있습니까?