未分類 16 11 月 2020 goalng 如何控制函数成为 内联函数? goalng 如何控制函数成为 内联函数? 資深大佬 : guonaihong 4 在 c 里面可以通过宏替换,把一段逻辑,插入到代码里面,可以省去对函数调用的运行影响。简单来说内联会快点。 有童鞋在 go 做过相关研究吗? 大佬有話說 (8) 資深大佬 : cmdOptionKana Go 想这样做也很容易,官方工具链就提供 generate, 但绝大多情况下都不需要优化到这个程度,或者说有这种需求的项目通常会选择 C/Rust 主 資深大佬 : guonaihong @cmdOptionKana 有相关文档吗?我看下。还是在 golang wiki 里面找? 資深大佬 : whitehack https://github.com/golang/go/wiki/CompilerOptimizations#function-inlining 主 資深大佬 : guonaihong @whitehack 感谢。。。 資深大佬 : 0x11901 其实 u1s1,你在 c 里面也就是暗示编译器你想内联,实际内不内联还是编译器说了算的。就算你写的时候根本不知道啥叫内联函数,编译器没准也给你内联了。 所以我觉得你压根没必要纠结这事,相信 go 的编译器吧 資深大佬 : ly841000 @0x11901 c 里面几大编译器都能强制内联 資深大佬 : 0x11901 @ly841000 讲道理你一个函数里面写循环写递归再“强制”内联,编译器肯定是会拒绝的……然后我仔细看了一眼主的问题,这好像说的不是内联函数吧?宏替换??? 主 資深大佬 : guonaihong @0x11901 我举的例子不太好,直接关注内联就行。