有关.so文件的信息

Jat*_*rya 2 c unix linux shared-libraries

我是C编程的新手.我对.so文件一无所知.有什么需要呢?我怎么创建它?如何绑定我的C代码或二进制文件?如果我不制作任何.so文件并直接生成C代码的可执行二进制文件,它的PROS和CONS是什么?需要详细描述它.

CCo*_*der 5

.so文件是共享对象.通常共享库是.so.

通过创建库来.so实现内存使用效率.即,当使用该库的多个应用程序正在运行时,该库仅被加载到存储器中一次,而不是静态库的情况.

创建动态库:

gcc -Wall -fPIC -c *.c
gcc -shared -Wl,-soname,libctest.so.1 -o libctest.so.1.0   *.o
Run Code Online (Sandbox Code Playgroud)

-fPIC:编译器指令,用于输出与位置无关的代码,这是共享库所需的特性.

-shared:生成一个共享对象,然后可以将其与其他对象链接以形成可执行文件.

您可以在此处找到更多信息.