为什么内联会使简单程序无法正常工作?

时间:2019-02-25 22:12:04

标签: c inline

我有以下简单的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。为什么?

0 个答案:

没有答案