【问题标题】:Refer to external symbol without leading underscore from C从 C 中引用不带前导下划线的外部符号
【发布时间】:2020-08-13 06:00:42
【问题描述】:

我试图从 C 代码的 ObjC 源代码中引用由 clang 生成的目标文件,但是编译器生成的符号没有以下划线开头,因此外部规范不起作用。我正在使用最新的 Apple clang。我猜这一定是可能的,因为内核需要这样做。任何人都确认是否有可能,如果可以,如何做,如果没有,请提供解决方法。谢谢!

【问题讨论】:

  • 我好像记得有一个函数__attribute__可以做到这一点,但我现在找不到了。
  • 您是否查看了编译器的选项以不添加下划线?

标签: c gcc clang


【解决方案1】:

抱歉,我在发布问题后立即找到了答案:

extern void *name asm("name");

似乎适用于 clang 和 gcc。不确定 Windows。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多