
-fPIC 压制警告
-shared 动态库
caculate.c
gcc -rdynamic -o main main.c
-rdynamic 生成可执行文件
-o 目标文件名
main是linux环境下的一个可执行文件。
main.c
gcc -c main.c -o main.o
gcc -c minus.c -o minus.o
gcc -c mulit.c -o mulit.o
gcc -c plus.c -o plus.o
gcc main.o minus.o mulit.o plus.o -o myapp
就跟用VS编译dll或者lib文件差不多,把代码编译完成以后,命名为相应的后缀就好了。例如:
gcc
-c
-fPIC
libst.c
生成
libst.o
然后
gcc
-shared
-fPIC
-o
libst.so
libst.o
生成
libst.so
动态链接库
把libst.so拷贝到系统默认库目录下,比如
/lib,
/usr/lib
下
假定有
test.c
要引用这个库
gcc
-lst
-o
test
test.c
然后就可以了
假如不能把libst.so拷贝到默认库目录下,比方说放在了
/home/aaa/lib
下
那么就用这样的语句来编译test.c
gcc
-L/home/aaa/lib
-lst
-Wl,-rpath=/home/aaa/lib
-o
test
test.c
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)