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

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

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

然后是空白处,然后是main功能之后的其他东西。

#是什么原因?

(现在已经不合时宜了,我不能问这个小伙子。)

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

#

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

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

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

从伟大的Dennis Ritchie本人的原始C选秀:

12.编译器控制线

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

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

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

链接地址: http://www.djcxy.com/p/59855.html

上一篇: Why do all the C files written by my lecturer start with a #?

下一篇: Invoking a Java/AXIS Web Service from .NET: the ‘return null’ issue