为什么我的讲师写的所有C文件都以#开始?

为什么我的讲师写的所有C文件都以#开始?

我正在阅读一些C课程笔记, 每个 C程序源文件都以程序第一行中的一个#开始。

然后是空格,然后是其他的东西,跟着mainfunction。

这个#是什么原因?

(现在已经不合时宜了,我真的不能问这个家伙)

这是一个例子(在结束时有一个额外的行)

 # #include <stdio.h> int main() { printf("Hello, World!"); return 0; } 

哇,这个要求可以追溯到 20世纪70年代。

在预标准化C的初期 ,如果你想调用预处理器 ,那么你必须在源文件的第一行写第一个#作为第一行。 在文件的顶部写一个#可以灵活地放置其他预处理指令。

从伟大的丹尼斯·里奇本人的原始C选秀中,

12.编译器控制线

[…]为了使预处理器被调用,程序的第一行必须以#开始。 由于空行被预处理器忽略,所以这一行不需要包含其他信息。

那个文件使得阅读很棒(让我像疯猫一样跳到这个问题上)。

我怀疑这是演讲者只是感伤 – 自ANSI C以来一直没有被要求。