当前位置: 技术问答>linux和unix
一个gcc与动态库的问题
来源: 互联网 发布时间:2015-09-18
本文导语: 在system V系统中当用gcc生成.so动态连接库的时候有两种方法: 1、gcc -G libx.so x.c 2、gcc -fPIC -shared libx.so x.c 这两种方法编译出来的库文件大小不一样,同样可以支持静态与动态加载的方法。同时-G支持包含一个静...
在system V系统中当用gcc生成.so动态连接库的时候有两种方法:
1、gcc -G libx.so x.c
2、gcc -fPIC -shared libx.so x.c
这两种方法编译出来的库文件大小不一样,同样可以支持静态与动态加载的方法。同时-G支持包含一个静态库.a的编译,而-fPIC -shared则不支持。
谁能和我详细讲讲这两种方法的区别?
1、gcc -G libx.so x.c
2、gcc -fPIC -shared libx.so x.c
这两种方法编译出来的库文件大小不一样,同样可以支持静态与动态加载的方法。同时-G支持包含一个静态库.a的编译,而-fPIC -shared则不支持。
谁能和我详细讲讲这两种方法的区别?
|
man gcc 看到
Options for System V
These additional options are available on System V Release 4 for com-
patibility with other compilers on those systems:
-G Create a shared object. It is recommended that -symbolic or
-shared be used instead.
Options for System V
These additional options are available on System V Release 4 for com-
patibility with other compilers on those systems:
-G Create a shared object. It is recommended that -symbolic or
-shared be used instead.
|
gcc -G -fPIC 试试?
|
man gcc
System V Options
-G
System V Options
-G