我们可以在c中使用POSIX C库吗?
我是
Linux系统编程领域的新手.我目前用C编程,想切换到c.
我们可以在c中使用POSIX C库中定义的所有函数而不做任何更改吗? 解决方法
原则上,您应该能够使用C中的任何C API;该语言包含促进它的功能,大多数C库作者都知道人们想要这样做并将采取适当的步骤.对于POSIX指定的系统编程接口,C兼容性是一个明确的设计目标.
但是,您可能仍会遇到问题.根据我的经验,最常见的问题是: > C API头通常会将数百个符号转储到全局命名空间中.其中一些符号可能与C库符号冲突,如果您使用命名空间std会使您遇到麻烦(但您没有这样做,对吧?) 如果超出POSIX,您可能还会遇到以下问题: >当编译为C时,不打算将所有声明包装在extern“C”块中的标题,这意味着所有函数名称在它们不应该被破坏时会被破坏,并且链接失败. >巧妙地使用一些C关键字作为声明名称(例如int模板;) 请注意,POSIX指定的标头经常包含系统特定的扩展,这些扩展没有像POSIX接口本身那样仔细考虑过. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |