我在看go运行时的runtime.c文件
/usr/local/go/src/pkg/runtime
并看到了以下函数定义:
void
runtime∕pprof·runtime_cyclesPerSecond(int64 res)
{...}
和
int64
runtime·tickspersecond(void)
{...}
还有很多像
这样的声明void runtime·hashinit(void);
在 runtime.h 中。
我以前从未见过这种 C 语法(特别是带有斜杠的语法似乎很奇怪)。 这是标准 C 的一部分还是某些 plan9 方言?
最佳答案
这是 Go 对 Go 包路径的特殊内部语法。例如,
运行时间∕pprof·runtime_cyclesPerSecond
是函数runtime_cyclesPerSecond
在包路径runtime∕pprof
。
'∕
'字符是Unicode分割斜杠字符,用于分隔路径元素。 '·
'字符为Unicode中点字符,分隔包路径和函数。
关于c - Go 编译器运行时的语法和语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259087/