Geo*_*lly 4 linux linker shared-libraries elf ld
我有共享库的头文件,但没有共享库及其源代码。
我还可以针对这个库编译一些代码吗?
如果没有,共享库包含哪些不在头文件中的信息?
我还可以针对这个库编译一些代码吗?
编译:是的。链接:也许吧。
您可以创建一个虚拟库来链接。例如,如果标题包含:
int library_func(void*);
Run Code Online (Sandbox Code Playgroud)
然后:
// dummy_lib.c
int library_func(void *p) { return 0; }
gcc -fPIC -shared -o libfoo.so dummy_lib.c
# Now you can use libfoo.so to link your program.
Run Code Online (Sandbox Code Playgroud)
有一些问题:
SONAME以外的东西。如果不访问真实的内容,您就无法知道。libfoo.solibfoo.so.2libfoo