我强烈 推荐使用 LSB 应用程序/库检查器。如果您:
- 正在使用某些发行版上不可用的扩展
- 在安装脚本中引入 bash-isms
- 使用并非在所有最新内核中都可用的系统调用
- 依赖非标准库(它会告诉你发行版缺少它们)
- 还有很多,经过很多其他非常好的检查
您可以在此处获取更多信息以及下载该工具。它易于运行.. 只需解压它,运行 perl 脚本并将浏览器指向 localhost.. 其余部分由浏览器驱动。
使用该工具,您可以轻松获得库/应用 LSB 认证(适用于两个版本),并使发行版打包程序的工作更加轻松。
除此之外,只需使用 libtool(或类似工具)之类的工具来确保您的库安装正确,为不想链接 DSO 的人提供一个静态对象(您的库需要一段时间才能出现在大多数发行版中,所以编写一个可移植的程序,我不能指望它存在)并很好地评论你的公共界面。
对于图书馆,我发现Doxygen效果最好。文档非常重要,它肯定会影响我选择用于任何给定任务的库。
真的,再次检查应用程序检查器,它会为您提供可移植性问题报告,而这些报告可能需要一年的时间才能让图书馆在野外获得。
最后,尝试让您的库易于“放入树中”,这样我就不必静态链接它了。正如我所说,它可能需要几年时间才能在大多数发行版中变得普遍。我更容易抓住你的代码,把它放到 src/lib 中并使用它,直到你的库是通用的。拜托,拜托..给我单元测试,TAP(测试任何协议)是一种很好的便携方式。如果我破解了你的库,我需要(快速)知道我是否破坏了它,尤其是在树或 原位修改它时(如果 DSO 存在)。