gpt4 book ai didi

assembly - 标签、函数的命名约定

转载 作者:行者123 更新时间:2023-12-02 06:33:17 27 4
gpt4 key购买 nike

我有点困惑,仍然没有找到明确的答案:我应该将标签命名为“label1”还是带有下划线“_label1”?什么是最流行和最容易识别的方式?如果我没记错的话,我什至见过一个带有点“.label1”的标签。

同样的问题适用于函数:“function1”还是“_function1”?

最佳答案

从代码可维护性的角度来看,前导点和下划线不会向标签添加任何有用的信息,因此如果没有特定需要这些前缀(见下文),您应该删除它们。您可能认为“它看起来很漂亮”这一事实不足以成为使用它们的理由。

汇编器有时使用点来指定标签是本地,即不作为符号导出到目标文件。这非常有用,可以避免您不需要的符号污染全局 namespace 。

其他汇编器使用点来表示汇编器指令,并且根本不允许在符号中使用点。

下划线通常由必须与高级语言集成的汇编代码使用。一些 C 编译器在所有导出符号前添加下划线前缀,为了能够从 C 代码中调用,汇编函数需要遵循此规则。

通常,您的汇编器(和/或编译器,如果您与编译的代码集成)手册应该能够告诉您特定汇编器支持或需要哪些变体。如果手册没有明确告诉您何时以及为何应该使用此类前缀,那就不要使用它们 - 汇编器标签是 self 记录代码的一部分(最小也是最重要的)。如果不需要,请不要将其浪费在无意义的前缀上。

关于assembly - 标签、函数的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41532041/

27 4 0