【发布时间】:2012-01-23 17:59:23
【问题描述】:
我正在查看 google go 的运行时源代码(https://go.googlecode.com/hg/src/pkg/runtime/),似乎他们在函数名中使用了一个特殊字符,·。 (例如查看https://go.googlecode.com/hg/src/pkg/runtime/cgocall.c)。这是否被主要编译器接受?这不是 ANSI C,是吗?还是只是一些宏观魔术?
谢谢!
【问题讨论】:
-
通过查看示例,我刚刚意识到该符号仅出现在运行时和其他名称之间(
runtime·cgocall、runtime·throw、runtime·allm)。 -
@pmg:用作命名空间标识符,我觉得很聪明,很酷,用起来很不方便。
-
嗯,这 确实 似乎是在 ANSI C 中模拟命名空间的一种非常聪明的方法。希望答案能探索这样做的任何注意事项,而不仅仅是告诉你是什么角色。
-
@CodyGray 是的,我就是这么想的。真的很干净:)
-
它真的很干净...对于 C 代码生成器 :)
标签: c namespaces naming-conventions ansi standards-compliance