<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Snooda]]></title> 
<link>http://www.snooda.com/index</link> 
<description><![CDATA[Snooda's Blog]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Snooda]]></copyright>
<item>
<link>http://www.snooda.com/read/</link>
<title><![CDATA[静态库和动态库编译链接时的依赖检查]]></title> 
<author>snooda &lt;admin@snooda.com&gt;</author>
<category><![CDATA[c程序设计]]></category>
<pubDate>Thu, 05 Apr 2012 11:48:04 +0000</pubDate> 
<guid>http://www.snooda.com/read/</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;今天编译lua程序时发现总是报缺少dlopen和pow之类的，需要手动加-lm -dl才行。感觉有点奇异，按我的理解来说使用静态库是不需要考虑依赖的。仔细研究了下，发现很多误区。<br/>&nbsp;&nbsp;&nbsp;&nbsp;首先用静态库编译出的可执行文件是不考虑库依赖的，但并不代表用静态库时也不需要考虑。静态库在编译时是不检查函数是否被实现的，也就是说只需要.h即可。<br/>&nbsp;&nbsp;&nbsp;&nbsp;其次，静态库和动态库其实区别很大，静态库只是编译出.o的一个打包的文件，而动态库添加了链接信息。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;这样的话静态库还有一个特性，就是在静态库中可以调用一些预留接口，而把这些接口留待以后实现。<br/>Tags - <a href="http://www.snooda.com/tags/%25E7%25BC%2596%25E8%25AF%2591%25E4%25BE%259D%25E8%25B5%2596/" rel="tag">编译依赖</a>
]]>
</description>
</item><item>
<link>http://www.snooda.com/read/#blogcomment</link>
<title><![CDATA[[评论] 静态库和动态库编译链接时的依赖检查]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.snooda.com/read/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>