网站首页
本站精华
免费下载
游客:
注册
|
登录
|
会员
|
搜索
|
帮助
LoveUnix
»
编程开发 & Rational
» GCC如何只导出指定的的函数?
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题:
[疑问]
GCC如何只导出指定的的函数?
littlestar
LU幼天使
UID 29787
精华 0
积分 99
帖子 177
活跃指数 25
LU金币 2197 个
LU金条 0 个
阅读权限 20
注册 2005-2-26
#1
大
中
小
使用道具
发表于 2006-10-22 22:17
资料
个人空间
主页
短消息
加为好友
GCC如何只导出指定的的函数?
gcc编译动态库, 默认将所有函数导出来了, 除了static的.能否像windows的VC一样, 只导出指定函数?
windows VC下有def文件, AIX下XLC有exp文件, 可以指定需要导出的函数名.
Linux下的GCC如何做呢, 谢谢.
[
本帖最后由 littlestar 于 2006-10-22 22:19 编辑
]
littlestar
LU幼天使
UID 29787
精华 0
积分 99
帖子 177
活跃指数 25
LU金币 2197 个
LU金条 0 个
阅读权限 20
注册 2005-2-26
#2
大
中
小
使用道具
发表于 2006-10-22 22:20
资料
个人空间
主页
短消息
加为好友
有类似指定def文件的选项吗?
有类似指定def文件的选项吗? 谢谢!
sinister
技术专家
UID 36664
精华
14
积分 350
帖子 388
活跃指数 313
LU金币 2034 个
LU金条 0 个
阅读权限 200
注册 2005-11-17
#3
大
中
小
使用道具
发表于 2006-11-2 15:34
资料
个人空间
主页
短消息
加为好友
linux 也有导出文件。不用特定的扩展名,且不是在 gcc 中指定参数,而是在 ld 中。
写一个导出符号文件,如 symbol 指定你只导出的函数,如 func1。使用 ld 的
--retain-symbols-file 参数可以在 static section 里取消 func1 以外的所有函数。这
时你用 readelf 看编译好后的 .so 文件 static section 里没有了,使用 nm 看 .so
文件它无法查出导出函数。但这并不完全。因为在 dynamic section 里还是会看
到所有符号被导出。如果想在 .dynsym 这个 section 里也不让他导出的话,需要
再编写一个 script 文件。 指定 global 与 local 在 global 中指定你要导出的函数,简单的
格式如下:
{
global: 导出函数名;
local: *;
};
再在 ld 时用 --version-script 选项来 load 你 文件。都完事后再使用 readelf 观察
static 与 dynamic section 发现只导出了你指定的函数名即符号。
例:
ld -shared --retain-symbols-file 符号文件 --version-script 脚本文件 -o 动态库文件.so filename.o
没有道德现象,只有现象的道德解释。
投票
交易
悬赏
活动
LoveUnix
专项技术区
> AIX -IBM UNIX
> 其他UNIX & Linux
> i5 (AS400) & IBM大机
> PC Server & HPC
> 存储设备
> 备份软件
> 网络 & 安全
> 编程开发 & Rational
> DB2 & Informix
> ORACLE等数据库
> 中间件技术
行业综合区
> 职业咨询 前程无忧
> 培训认证 行业入门
> 行业应用 项目实施
> 产品信息 商务交流
> Free download下载
交流灌水区
> 蓝色太平洋
> 墨香雅韵
> 论坛建设
> 博客专区
当前时区 GMT+8, 现在时间是 2008-12-2 18:19
乐悠LoveUnix论坛-京ICP备05005823号
Thanks to
Discuz!
© 2001-2007 Power by
LoveUnix.net
Processed in 0.091524 second(s), 6 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
乐悠LoveUnix
-
Archiver
界面风格
----------
Discuz! 5 Default
新DISCUZ风格
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
升级个人空间
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计