在一次偶然的机会中,查看公司(公司用的是unix aix编译器xlc)库代码在看到Makefile 时,发现其后面对生成的动态库进行了软连接的操作。
{ 这边插入一个知识点,在unxi,aix,xlc编译器生成动态库和静态库的方法:
动态库: xlC -bh:5 -G -o lib**.so obj1.o obj2.o obj3.o
(注意:xlC -bh:5 是连接link语法,生产动态库只要在链接时加入 -G 即可)
静态库: ar -r lib**.a obj1.o obj2.o obj3.o
}
在生产动态库后面发下了还有一条命令ln -s lib**.so lib**.a命令;
后面经查看xlc使用说明得到答案。(可以在命令窗口直接输入 xlc即可查看他的使用手册)
在xlc使用手册中有以下说明:
-g Produce information for the debugger.
-G Tells the linkage editor to create a dynamic library.
-I<dir> Search in dire

在AIX系统中,使用xlc编译生成动态库后,通过ln -s命令创建软链接将.so文件指向.a文件。这是由于在链接阶段,xlc查找的是.a库文件。因此,Makefile通常包含这一步骤以确保正确链接。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



