clang中gcc的__attribute __((构造函数))的等价物是什么?

时间:2014-05-13 16:55:07

标签: ios c frameworks clang ld

我刚刚完成了将相当数量的c-source移植到iOS平台并将它们打包为通用静态框架。然后,我将框架(而不是项目)添加到示例iOS应用程序中,以测试链接和正确的功能。就在那时我遇到了一个令人羞愧的问题。

在我试图解决here所描述的问题时,我也遇到了一些通过大量使用宏而构成的符号(我讨厌这些符号)。其中一些宏使用的函数属性实际上是gcc的扩展而不是标准C的扩展。

当然我总是可以添加-std = gnu89,但即便如此,我也不确定它是否会解决静态库中未定义符号的原始问题。

不仅如此,我现在担心我的这些源的iOS端口可能不是一个准确的端口,并且可能导致可能与编译器的可待因和/或优化策略相关的错误/问题类型。

如果您能分享一些关于如何最好地了解该港口的经验/建议,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

从使用clang 8.0进行的手动测试来看,__attribute__((constructor))__attribute__((__constructor__))都可以满足您的需求。