惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
H
Heimdal Security Blog
腾讯CDC
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
月光博客
月光博客
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
D
DataBreaches.Net
O
OpenAI News
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
小众软件
小众软件
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
美团技术团队
P
Privacy International News Feed

博客园 - zrs

感触 <<我奋斗了18年才和你坐在一起喝咖啡>> 求GIS 路名绘制解决方案 解析shp文件 namespace 名字空间 祝福老段 gcc编译环境下的一些体会 gcc编译环境太差了 中兴映像 几句话 wince不支持C运行时库 time() 矢量绘图 结构体内存对齐 新科十年 Gsoap调用java实现的webservice时,如何传递复杂数据类型? gSOAP Visual Studio 2005 SP1-MS有史以来安装表现最差的补丁 GOOGLE手机地图不咋的 第一次面试别人
Linux动态链接库
zrs · 2008-12-25 · via 博客园 - zrs

动态链接库在Linux平台下就是Linux标准对象Standard Ojbect,对应的文档扩展名为.so,不同于Win32平台下的DLL,Linux标准对象文档含有一个函数,无需声明export导出符号,只需要编译器配置即可。

Code

保存为myso.c文档,编译:$ gcc -fPIC -shared -o libmyso.so myso.c
按照Linux标准对象的命名惯例,应该在库名称之前加上"lib"前缀,执行生成一个libmyso.so文档。
编译开关-fPIC代表函数符号能够重定向。
-shared代表编译结果是个标准对象。
Linux标准对象中的任何函数都是直接导出的,都能够被调用程式所访问。

Code

保存为invoke.c,gcc开关编译:$ gcc -o testso invoke.c ./libmyso.so 
编译生成testso可执行文档。如上编译条件的最后一条需要是所调用的标准对象文档名,文档名"./libmyso.so"使用相对路径。
测试输出结果如下: 

Code

   对于Linux还是比较陌生,这两天看QT文档看的很晕,力争在过年回去前完成中间件Linux下的so移植。