美文网首页
linux下C编程

linux下C编程

作者: harrytc | 来源:发表于2017-09-20 16:13 被阅读0次

    编译

    编译器可以将源代码转换成机器语言,在编译过程中,会找出错误并报告。这个阶段的输入是在编辑期间产生的文件,常称为源文件。

    编译器能找出程序中很多无效的和无法识别的错误,包括结构错误,例如程序的某个部分永远不会执行。编译器输出的结构叫作对象代码,存放它们的文件叫作对象文件。在 Linux 中这些文件的扩展名通常是 .o,在 Windows 下面这些文件的扩展名通常是 .obj 。如果编译成功就会生成一个文件,它与源文件同名。但扩展名为 .o 或者 .obj 。

    其实我们在上一节编写第一个 C 语言程序的时候,使用的

     gcc -o 1-1 1-1.c 
    

    这条命令既包含了编译也包含了链接,所以直接生成了可执行文件 1-1 。

    在 Linux 下编译是在源代码文件所在目录输入以下命令(假如源代码文件是上节课的 1-1.c):

    gcc -c 1-1.c
    

    这时源文件所在的目录将会生成 1-1.o 的文件。

    链接

    链接器将源代码文件中由编译器产生的各种对象模块组合起来,再从 C 语言提供的程序库中添加必要的代码模块,将它们组合成一个可执行文件。链接器也可以检测和报告错误,例如程序中引用了一个根本不存在的库组件。链接一旦成功,就会生成可执行文件,在 Windows 下面可执行文件的扩展名是 .exe,在 Linux 下面,可执行文件没有扩展名,但它的文件类型是可执行的。

    在编译生成 .o 文件的基础上我们将会输入以下命令(以编译生成 1-1.o 为例):

    gcc -o 1-1 1-1.o
    

    这时 1-1.o 所在的目录将会生成 1-1 可执行文件。

    多数情况下,我们是通过

    gcc -o 1-1 1-1.c
    

    一次性完成编译和链接。

    执行

    执行阶段就是成功完成了前述的三个过程后,运行程序。但是这个阶段可能会出现各种错误,包括输出错误,计算机什么也不做哦,甚至是计算机崩溃。无论如何,都需要我们返回编辑阶段,检查并修改源代码。相信大家都还记得上一节课的执行命令,在文件所在目录执行:

    ./可执行文件name
    

    相关文章

      网友评论

          本文标题:linux下C编程

          本文链接:https://www.haomeiwen.com/subject/ifgnsxtx.html