goalng 如何控制函数成为 内联函数?

2020-12-01 10:16:29 +08:00
 guonaihong

在 c 里面可以通过宏替换,把一段逻辑,插入到代码里面,可以省去对函数调用的运行影响。简单来说内联会快点。

有童鞋在 go 做过相关研究吗?

1586 次点击
所在节点    Go 编程语言
8 条回复
cmdOptionKana
2020-12-01 10:22:35 +08:00
Go 想这样做也很容易,官方工具链就提供 generate, 但绝大多情况下都不需要优化到这个程度,或者说有这种需求的项目通常会选择 C/Rust
guonaihong
2020-12-01 10:27:51 +08:00
@cmdOptionKana 有相关文档吗?我看下。还是在 golang wiki 里面找?
whitehack
2020-12-01 10:28:45 +08:00
guonaihong
2020-12-01 10:30:45 +08:00
@whitehack 感谢。。。
0x11901
2020-12-01 17:15:47 +08:00
其实 u1s1,你在 c 里面也就是暗示编译器你想内联,实际内不内联还是编译器说了算的。就算你写的时候根本不知道啥叫内联函数,编译器没准也给你内联了。

所以我觉得你压根没必要纠结这事,相信 go 的编译器吧
ly841000
2020-12-01 17:52:30 +08:00
@0x11901 c 里面几大编译器都能强制内联
0x11901
2020-12-02 14:36:21 +08:00
@ly841000 讲道理你一个函数里面写循环写递归再“强制”内联,编译器肯定是会拒绝的……然后我仔细看了一眼楼主的问题,这好像说的不是内联函数吧?宏替换???
guonaihong
2020-12-02 16:57:53 +08:00
@0x11901 我举的例子不太好,直接关注内联就行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/730843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX