免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4561 | 回复: 2
打印 上一主题 下一主题

aix下编译动态库,请各位c++高人帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-19 12:25 |只看该作者 |倒序浏览
在AIX下,编译动态库,由于动态库要使用多线程和序列号,所以用了互斥锁。\r\npthread_mutex_t        m_SerialLock;                                /* Serial锁 */\r\n但是一初始化,程序就直接core了\r\npthread_mutex_init( &m_SerialLock, NULL );\r\n\r\n还有创建线程的时候,也coredump\r\nif ( pthread_create( &tid, NULL, thread_Send, NULL ) != 0 )\r\n                printf(\"creat send thread error!!!\\n\");        \r\n\r\n想不明白,请教高人。。。。。\r\n我将此动态库,加上main函数,编译成可执行文件,编译时有如下告警信息:\r\n\r\nld: 0711-224 WARNING: Duplicate symbol: thread_creds_t\r\nld: 0711-224 WARNING: Duplicate symbol: _GLOBAL__F_thread_creds_t\r\nld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.\r\n\r\n貌似定义了两次,但是实际看代码,确确实实就定义了一次。而且可执行文件可以正常运行无错误。。。。。到底是怎么回事呢??\n\n[ 本帖最后由 foolishfox 于 2008-3-21 10:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-03-21 08:40 |只看该作者
沉下去了,自己顶一下,期待正解

论坛徽章:
0
3 [报告]
发表于 2008-08-28 12:30 |只看该作者
估计是链接方式问题,我今天才把AIX下的动态库链接搞定,我是这样写的,你可以试试!\r\n\r\nAIX动态链接库的创建和使用:\r\n\r\n1.编译 \r\ncc -o test1.o -c test1.c\r\ncc -o test2.o -c test2.c\r\n\r\n\r\n2.生成动态库 \r\ncc -G -o test.so test1.o test2.o\r\n\r\n3.使用动态库\r\ncc -brtl -bexpfull -o test test.c test.so
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP