结尾我正在通过一些专有源代码来查看:使用库的示例程序。为什么C文件以/ * [] */
该代码是用C和C++编写的,使用make for build system。
每个文件都以注释结束[]
:/*[]*/
源文件和#[]#
for makefiles。这可能是什么原因?
该代码是使用扩展名为ARM和GCC编译的。
结尾我正在通过一些专有源代码来查看:使用库的示例程序。为什么C文件以/ * [] */
该代码是用C和C++编写的,使用make for build system。
每个文件都以注释结束[]
:/*[]*/
源文件和#[]#
for makefiles。这可能是什么原因?
该代码是使用扩展名为ARM和GCC编译的。
这很可能是某种自动扩展的占位符。
通常像macrodef(或其中一个源代码控制过滤器)会扩展这些项目以包含一些相关的文本。由于通常只有注释受保护的括号才会展开,因此注释将保持原样,从而在编译时保护源代码免受实际扩展项目的影响。
但是,您目前正在查看的可能是包含所有内部扩展的外部括号。这可能在从一个源代码控制系统到另一个源代码控制系统的代码迁移过程中完成。虽然这样的想法具有很强的推测性,但似乎并没有花费努力来迁移扩展项目,而不是将其移除。
在一个项目中,我的工作,每一个C源文件包含在最后一个评论:
/* End of file */
其原因是海湾合作委员会警告
Warning : No new line at end of file
所以我们有这个评论(后面有一个新行),以确保人们不会在评论后写:) :)
这可能是'vi'。 – Rohan
我不会说这是一种编码风格,我猜测它不是标准C.以'#'开始的行往往是预处理指令,'[]#'不是标准的。你确定'#[]#'真的是每个文件的最后一行吗? –
我的猜测是makefile系统在某处使用这些行。如果代码具有足够老的C代码,则它不一定依赖//注释,因此#将是添加单行非代码的一种方式,预编译器会将其过滤掉。也许这是为了构建一个依赖树,或者什么?我的预感是通过makefile查看。 –