我是靠谱客的博主 风中乌龟,最近开发中收集的这篇文章主要介绍面试题:描述一下C程序的编译过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、从.cpp文件到可执行文件要经历四个步骤,如下图:
**这里写图片描述**

二、以一个实例来说明编译过程,假设现在下面有一个hello.c文件

1、预处理
     gcc -E helo.c -o helo.i

    预编译过程主要处理那些源代码中以#开始的预编译指令,主要处理规则如下:

    (1) 将所有的#define删除,并且展开所有的宏定义;
    (2)处理所有条件编译指令,如#if,#ifdef等;
    (3) 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。
    (4) 删除所有的注释//和 /**/;
    (5)添加行号和文件标识,如#2 “hello.c” 2,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号信息;
    (6) 保留所有的#pragma编译器指令,因为编译器须要使用它们;

2、编译:生成汇编代码
    gcc -s helo.i -o helo.s

3、汇编:汇编器是将汇编代码转变成机器可以执行的命令。
     gcc –c hello.c –o hello.o

4、链接:生成可执行文件
    gcc -o hello hello.o

最后

以上就是风中乌龟为你收集整理的面试题:描述一下C程序的编译过程的全部内容,希望文章能够帮你解决面试题:描述一下C程序的编译过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部