gpt4 book ai didi

c - 为什么在评论中使用 `code' 来包含代码?

转载 作者:太空狗 更新时间:2023-10-29 16:11:06 27 4
gpt4 key购买 nike

我刚刚阅读了一些 glibc 2.22 源代码(源文件位于 /sysdeps/posix/readdir.c)并看到了这个评论:

/* The only version of `struct dirent*' that lacks `d_reclen' is fixed-size.  */

(已删除换行符。)

类型和标识符的奇怪强调让我很烦。为什么不只使用单引号或 des accents graves?这背后有什么具体原因吗?会不会是某种字符集转换错误?
我还搜索了 glibc style guide但在评论中没有发现任何关于代码格式的内容。

最佳答案

约定。

您无疑知道,C 编译器会忽略注释。它们没有区别,但撰写该评论的开发人员可能更喜欢它们的外观而不是普通的单引号。

ASCII

在源代码中使用非 ASCII 字符 (unicode) 是一种相对较新的做法(当涉及英文源代码时更是如此),并且在许多编程语言实现中仍然存在兼容性问题。 程序输入/输出 中的 Unicode 是完全不同的东西(而且也不完美)。在程序源代码中,unicode 字符仍然很不常见,我怀疑我们是否会在一段时间内看到它们在旧代码(如 POSIX 头文件)中大量出现。

源代码过滤器

有一些源码过滤器,比如大家熟知的Javadoc之类的文档生成包,查找特定的评论字符串,例如 /** 以打开评论。这些程序中的一些可能会特殊对待您的“带引号的字符串”,但该引号约定比大多数(所有?)可能给予它们特殊处理的源代码过滤器都要旧,所以可能不是这样。

命令替换的反引号

在许多脚本语言(以及 StackExchange markdown!)中有一个强有力的约定,即使用反引号 (``) 来执行命令并包含输出,例如在 shell 脚本中:

echo "The current directory is `pwd`"

这会输出类似的东西:

The current directory is /home/type_outcast

这可能是约定背后的部分原因,但我相信 Cristoph 也有观点,关于平衡引号,类似于正确排版的开始和结束引号。

所以,再说一遍,一句话:“约定”。

关于c - 为什么在评论中使用 `code' 来包含代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34551052/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com