为什么我的讲师写的所有C文件都以#开始?
为什么我的讲师写的所有C文件都以#开始?
我正在阅读一些C课程笔记, 每个 C程序源文件都以程序第一行中的一个#
开始。
然后是空格,然后是其他的东西,跟着main
function。
这个#
是什么原因?
(现在已经不合时宜了,我真的不能问这个家伙)
这是一个例子(在结束时有一个额外的行)
# #include <stdio.h> int main() { printf("Hello, World!"); return 0; }
哇,这个要求可以追溯到 20世纪70年代。
在预标准化C的初期 ,如果你想调用预处理器 ,那么你必须在源文件的第一行写第一个#
作为第一行。 在文件的顶部只写一个#
可以灵活地放置其他预处理指令。
从伟大的丹尼斯·里奇本人的原始C选秀中,
12.编译器控制线
[…]为了使预处理器被调用,程序的第一行必须以#开始。 由于空行被预处理器忽略,所以这一行不需要包含其他信息。
那个文件使得阅读很棒(让我像疯猫一样跳到这个问题上)。
我怀疑这是演讲者只是感伤 – 自ANSI C以来一直没有被要求。