关于动态链接库 segmentation fault

w20120125 2013-01-14 11:35:17
我将多个cpp文件编译成o文件,命令如下:

g++ -fPIC -c c1.cpp
g++ -fPIC -c c2.cpp
g++ -fPIC -c c3.cpp

然后将多个o文件, 链接成动态链接库 so 文件,命令如下:

g++ -shared c1.o c2.o c3.o -o SocketExt.so

结果,测试时,发现只要是调用了跨文件的函数,就会报错:

segmentation fault

请问,如何解决呢?
...全文
317 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
谭海燕 2013-01-17
  • 打赏
  • 举报
回复
同上。 代码本身的问题。 gdb调试下。
RedWolf1999 2013-01-17
  • 打赏
  • 举报
回复
编译时带-g参数,用gdb调。
mymtom 2013-01-16
  • 打赏
  • 举报
回复
memory fault 是代码引起的。 与跨文件调用没有关系。
swq1982 2013-01-14
  • 打赏
  • 举报
回复
你尝试用-static 试试可以吗?如果不行的话,你可以利用分阶段编译,因为一般的程序的编译过程都是分为:预处理、编译、汇编、链接这四个步骤的,对应到选项分别利用-E,-S,-c和 -O,分段接编译定位问题看看。

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧