焊工证查询网:C语言程序怎么生成软件

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/26 07:03:12
我学C有一段时间了啊 ,我想请教一下各位高手编写的源程序直接运行就能成软件吗?
是不是还要生成一个什么可执行文件啊 ?
怎么生成啊 ?
为什么在网上下在的程序源代码运行还有错误啊??
请各位高手帮我解决下我的困惑啊 !!
我是学数学的不是专业学计算机的
问题幼稚之处还望各位高手不要笑话!!!!!

以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc -P abc.c
第二步由源程序生产汇编语言代码。
gcc -S abc.c
会生成abc.s文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc -c abc.c
会生成abc.o
第四步连接器从目标代码生成可执行文件。
gcc abc.o
目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。

首先机器能够理解的只有机器语言,也就是二进制码的01序列,这当然是不成的,所以就出现了汇编语言,用易记的add,mov等汇编指令来代替二进制码的01,但是汇编还是太低级了,所以就有了高级语言,拿C来说,C的代码要通过编译变为.o或者.obj文件,然后通过编译成为.exe文件,这样才能够执行,而所执行的exe文件,也就是可以通过OS来解释成机器能够理解、能够执行的指令,这样就可以了,至于exe的运行,在win下面你可以去研究PE文件。基本就是这样了。如果还要理解深刻,去看书吧,推荐王爽的汇编语言。C的话看K&R的The C programming language,要不断的看,每有一个阶段的领悟就拿出来看一下。再有就是看编译器手册了,不过我本人是没看过,也没想了解这么深入。