在构建库之前选择选项

时间:2014-07-03 06:20:36

标签: c++ makefile

我准备在debian系统上构建crypto ++库,虽然debian存储库通过apt-get提供它们我想从源代码执行它以确保编译的库是最新的库并且确定构建仅限选项。

默认的makefile配置为构建静态库,发布版本,我想根据我的需要修改makefile并在那里添加其他东西。

基本上我只会将这些库用于学习,不会使用任何类型的发布程序,所以我的问题是我是否需要发布版本或调试来学习,我也不确定它是否适用于学习。为学习目的更好地构建共享或静态库?

我认为这个问题听起来很有趣,但我不确定为什么我需要调试库来调试简单程序?或者自己调试库?

1 个答案:

答案 0 :(得分:1)

调试和发布库之间的区别在于调试通常有更多的内部检查以确保正确使用lib,对应的是lib也更重,更慢。这就是为什么发布版本是使用发布库完成的。

静态链接(复制):一个大的exe文件,更适合开发。您将所使用的库的部分移动到二进制文件中。

动态链接(参考):一个小的exe文件加上一个或多个.so / .dll文件。您的可执行文件使用对librairy的引用,因此使用相同lib的X程序仅引用lib的相同实例。它不像静态链接那样重复代码。