2017-02-24 5 views
0

다른 프로그램을 컴파일하여 exe 파일 (d.out)을 만들었습니다. nlist 함수는 항상 -1을 반환합니다. fopen func가 반환합니다! = null. 이 중요한 경우, 나는이 gcc -I/usr/include main.c -L/usr/lib/i386-linux-gnu/pkgconfig -lbsdnlist 함수는 항상 -1을 반환합니다.

처럼 내 음식물이
#include <string.h> 
#include <bsd/nlist.h> 
#include <stdio.h> 
#include <stdlib.h> 

int test(){ 
    struct nlist nl[2]; 
    memset(&nl, 0, sizeof(nl)); 
    return nlist("d.out", nl); 
// return nl[0].n_value; 
} 

int main(){ 


printf("%d \n", test()); 

} 

답변

0

내 FreeBSD의 맨 페이지를 말한다 컴파일

RETURN가 잘못된 항목의 수는 성공하면 반환
VALUES; 그렇지 않으면 파일 filename이 없거나 실행 가능하지 않은 경우, 의 반환 값은 -1입니다.

d.out이 있습니까?

+0

물론 존재합니다. 나는 그것을 열어 보았고 그것을 반환했다! = NULL. –

+0

@ArseniyErmilov 그리고 물론 x 비트가 누락되지 않았습니까? 그리고'file d.out'은 그것이 실행 파일이라고 말합니까? – Jens

+0

'd.out : ELF 32-bit LSB executable ...''-rwxrwxrwx 1 username ...' –

관련 문제