gpt4 book ai didi

c - 如何使用 GCC 编译具有文字属性的内联 C 函数?

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:11 24 4
gpt4 key购买 nike

我有一个像这样的内联函数:

inline void func_1 (int a)
{
if(a==1)
{
other_func1();
}
else
{
other_func2();
}
}

我在 Main 中这样使用:

 int main()
{
func1(1);
func1(42);

return 0;
}

我认为我使用 GCC,编译后的代码如下所示(在“源代码级别”):

 int main()
{
other_func1()
other_func2();

return 0;
}

这是真的还是我错了?

最佳答案

是的,一般来说,当 gcc 可以在编译时评估分支时,它会优化掉内联函数中的死代码。我经常使用这个结构来为不同的用例生成优化代码——有点像 C++ 中的模板实例化。

关于c - 如何使用 GCC 编译具有文字属性的内联 C 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28191141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com