• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

SO的创建及使用

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网 分析GCC的两条命令

1.把.c文件变成so库
gcc -shared -o libblog.so input.c
用该命令就把.c文件变成了so库

2.编译.c文件为可执行文件
*如果你在你的.c文件文件中包括了包含so库函数声明的头文件,
则你在编译时用的命令为:
gcc -L/your/lib/path -lblog -o blogexe blogexe.c
以上so库名称必须为libblog.so(linux 省略掉了lib等);
*如果你希望在你的程序里运行时加载,用dlopen的方式打开,使用库里面的函数和数据。
则返回函数的形式( man dlopen 的举例)为:
int (*cos)(double);
cos=dlsym(dl-handle,"cos");
printf("%f",(*cos)(2.0));
或者这样
typedef int (*COSFN)(double);
COSFN cos;
cos=dlsym(dl-handle,"cos");
printf("%f",cos(2.0));
必须这样编译:
gcc -rdynamic -s -o blogexe blogexe.c -ldl

3.cpp文件里面函数和符号的导出
在需要导出变量和函数的前面加上extern "C"


refrence:1."LINUX系统中动态链接库的创建与使用" by 雨亦奇
                http://www.ccw.com.cn/htm/app/linux/develop/01_8_6_2.asp

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网