我有以下简单的C程序。
System
但是,如果我将int
定义为#include <stdio.h>
INLINE void print(const char *s) {
printf("%s\n", s);
}
int main() {
print("Hello World!");
return 0;
}
,则会出现以下错误。我不知道第一次跑步会失败。我的理解是,INLINE
函数应在编译时内联到inline
中,因此不应有链接错误抱怨对print()
的未定义引用。有人可以帮我理解为什么内联会使它不起作用吗? main()
也给出了类似的错误。谢谢。
print
编辑:但是使用-O2时,不需要关键字clang
。为什么?