编译器一次只使用1个这样的中间文件,这也被称为“编译单元”。我的理解是:中间文件被称为编译单元。编译器不知道其他编译单元中可能存在什么。我的理解是:可能有几个编译。n个单位,编译器每次只与一个编译单元一起工作,所以编译器不知道其他编译单元中可能有什么。C语言要求在编译过程中提供有关程序的其他部分的信息,我的理解是:编译期间,编译器需要一些“程序的其他部分”的信息输入编译单元(中间文件)来创建“C语言”。什么是“其他部分的信息”意味着什么。什么是程序?是.exe文件吗?为什么要创建C语言?(C语言是一种编程语言,是一种工具)参数列表,包括每个参数的数据类型,以及每个函数的返回值的数据类型,当编译函数调用时,编译器可以使用。我的理解是:参数列表可能是关于其他PAR的信息。C语言要求的程序TS?当编译函数调用时,编译器应该使用什么?这意味着:编译函数调用时,编译器可以使用参数列表?如果是,函数调用是什么?当函数调用被编译时?在一个只有1。C文件的程序中,这是通过在调用之前放置函数来实现的。我的理解是:我很确定程序是.exe文件,但是实现了什么目标?什么“放置函数”意味着我不知道这句话“这是通过把函数称为”可能是所谓的函数?什么叫“打电话”叫什么?(调用?)在一个具有多个C源文件的程序中,通过在每个C源文件中插入函数原型声明来实现同样的效果,其中的函数可以调用。为什么要使用“插入函数原型声明”而不是“放置函数”,这些规则适用于全局变量,这些变量应该在使用它的每个文件中用外部语句来声明,然后全局变量应该只在一个编译单元中定义(=分配)。理解:如果在多个.c文件的情况下,会有几个编译单元。内部语句是外部标识符,例如EXT INTING FLAG;这导致使用“头文件”。有人说:“如果同一个规范存在于2个以上的地方,那么其中的一个可能是错误的。”我的理解是:什么导致了“头文件”的使用?规范是声明/定义吗?地点是指编译单元中的某处?在多个.c文件中,这些代码应该是相同的,可以移动到.h文件中,同样的.h文件包含在每个.c文件中,这是需要的。我的理解是:“代码块”是什么?是规范吗?最后一点…在阅读了你的回复语言后,需要在编译过程中获得有关程序的其他部分的信息。在这个句子中,“C语言”是主题,“要求”是及物动词,“关于程序的其他部分的一些信息”是Obj.ECT和“被创造”是补充。(S+V+O+C)所以我认为C语言是要创建的……
以上来自于百度翻译
以下为原文
The compiler work with only 1 such intermediate file at a time, this is also called a 'compilation unit'.
My understanding: intermediate file is called a compilation unit.
Compiler do not know anything about what might be in other compilation units.
My understanding: maybe there are several compilation units, and compiler only work with one compilation units at a time, so compiler don't know what might be in other compilation units.
C language require that some information about other parts of the program to be created, shall be available during compilation.
My understanding: During compilation, compiler needs some information "of other parts of program" to put into compilation unit(intermediate file) to create "C language". What "information of other parts of program" means. What is program? is the .exe file? Why C language to be created?(C language is a programming language, is a tool)
Argument lists, including data type of each argument, and data type of return value for each function, shall be available to the compiler, when the function call is compiled.
My understanding: Maybe Argument lists are what informations about other parts of program that C language requires? What "shall be available to the compiler when the function call is compiled" means? It means: compiler can use argument lists when the function call is compiled? If so, what is function call? and when the function call is compiled?
In a program with only 1 .c file, this s achieved by placing functions to be called, before the point where a call is made.
My understanding: I'm pretty sure program is the .exe file here, but what goal is achieved? What "placing functions" means I don't know this sentence "This is achieved by placing functions to be called" maybe functions which are called? What is "a call is made" What is call? (invoke?)
In a program with multiple .c source files, the same effect is achieved by inserting a function prototype declaration in each .c source file where the function may be called.
My understanding: What effect? Why it comes to "inserting a function prototype declaration" not "placing functions"
The same rules apply to Global variables, which should be declared with a external statement in each file where it is used, and then the Global variable should be defined (=allocated) in only one compilation unit.
My understanding: if in the multiple .c file situation, there will be having several compilation units. Internal statement is extern identifier e.g. extern int flag; .
This lead to the use of 'Header files'. It have been said that: 'If the same specification is present in more than 2 places, then one of them is probably wrong.'
My understanding: What leads to the use of 'Header files'? Is specification a declaration/definiton? Places means to somewhere in compilation unit?
Those pieces of code that should be the same in multiple .c files, may be moved into a .h file, and the same .h file included in every .c file where it is needed.
My understanding: What is "pieces of code"? is specification?
Last point..... after reading your reply
C language require that some information about other parts of the program to be created, shall be available during compilation.
In this sentence, "C language" is the subject, "require" is the transitive verb, "that some information about other parts of the program" is the object and "to be created" is the complement. (S+V+O+C)
So I thought is C language to be created...........