GCC:简要概述

已经编写了源程序,并且用户已将其保存在文件名main.c中,并要求编译器生成gcc main.c类型的计算机可以使用的版本。 源代码通常可以是不同模块的集合,这些模块并非都位于同一区域,而这些模块是通过称为预处理器的单独程序进行检索和分组的。 除了将源代码放在一起之外,预处理器还可以将部分代码(称为宏)扩展为可读的机器语言。 然后,预处理器输出源代码的修改版本,然后通过“编译器”自身发送修改后的版本,从而将代码更改为汇编语言,从而更易于输出和调试。 然后,汇编器接收所述汇编语言作为输入,并将其翻译为计算机熟悉的机器语言。 但是,程序中经常有一些部分引用库或源代码,这些库或源代码位于其他位置并可以正常工作。 这就像是要按照指示来建造狗屋,并且需要车库中的锤子一样。 即使可以理解这些说明,但目前还没有工具。 链接器是该过程最后部分的开始,如果存在库,或者如果当前文件中引用的单独文件中有存储位置,则该链接器就像通往车库的路径,它为程序提供了一种方法使用这些外部对象。 最后一部分的第二部分是加载程序,该加载程序将所有可执行目标文件放在一起,并将它们放置在内存中,以便可以使用它们。 因此,继续以狗屋为例,如果链接器是人行道,那么装载机将是一个人,要去车库并获得所有必要的材料,将它们带回去,然后将它们放置在建筑商可以访问的区域。 最终,源代码已转换为目标程序,随时可以在用户要求时由计算机使用。 希望这对您有所帮助,互联网上和各种书籍中都有一些不错的资源,因此,如果您需要更深入的解释或说明,请参阅这里的信息。