Dav*_*own 5 c gcc shared-libraries elf cross-compiling
我正在尝试使用i686-elf交叉编译器在Cygwin中构建一个共享库.代码很简单:
int add(int a, int b) {
return a + b;
}
void _init() {
add(3, 4);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下命令进行编译:
i686-elf-gcc -fPIC -shared -nostdlib core.c -o libcore.so
Run Code Online (Sandbox Code Playgroud)
这应该是一个共享对象,对吧?但GCC会输出一个警告_start
,指出无法找到符号,这是可执行文件的入口点,而不是共享对象.此外,readelf
说如下:
$ readelf -a libcore.so
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
...
Type: EXEC (Executable file)
...
Run Code Online (Sandbox Code Playgroud)
这里出了什么问题?
归档时间: |
|
查看次数: |
1278 次 |
最近记录: |