2017-02-24 8 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のmanページは言う:

RETURNは、成功した場合、無効なエントリの数が返される
VALUES。そうでない場合、 ファイルfilenameが存在しないか、実行可能でない場合、戻り値 は-1です。

d.outが存在しますか?

+0

のものがあります。私はそれをfopenしようとしました!= NULLを返します。 –

+0

@ArseniyErmilovもちろんxビットは欠けていませんか?そして 'file d.out'は実行ファイルだと言っていますか? – Jens

+0

'd.out:ELF 32ビットLSB実行可能ファイル...' '-rwxrwxrwx 1 username ...' –

関連する問題