x9gcc直播 mac使用gcc为什么编译错误是clang提示?
mac使用gcc为什么编译错误是clang提示?gcc5和clang默认都是C11标准,它们遵循C99的内联语义。C99的内联语义不同于C和gnu89的内联语义。对于C99,函数定义前面的inline
mac使用gcc为什么编译错误是clang提示?
gcc5和clang默认都是C11标准,它们遵循C99的内联语义。C99的内联语义不同于C和gnu89的内联语义。
对于C99,函数定义前面的inline关键字意味着当函数是inline时,函数定义将提供给编译器inline。但是,如果该函数不是由编译器内联的,编译器将假定该函数是在其他地方定义的。
例如,如果f函数是内联函数,请将函数内联定义到调用它的位置,即主函数。如果它不是内联的,编译器将假定在其他地方有F的定义。在这个编译单元中,只有一个函数声明。
除非为函数指定always inline属性。
查看输出llvm IR:
这与O2的输出相同。