默认情况下,gcc命令会自动完成上述的整个编译过程。当然,gcc还提供了一系列参数,使用这个参数,可以让用户精准控制每一个编译过程。 -E :只做预处理,不编译 -S :只编译,将C程序编译为汇编文件 -c :只汇编,不链接。 -o :指定输出的文件名 GCC -E 参数 如果只对一段C语言程序做预处理操作,而不进行编译,可...
调用cc进行编译(一般来说,Linux下cc是一个符号连接,指向 gcc),通过-S选项参数可以生成.s后缀的汇编代码文件,以下两种方式都可以生成.s文件,不用指定要生产的文件,会自动生成一个与源文件同名的.s为后缀的汇编文件 gcc -S hello.c gcc -S hello.i 通过cat命令查看一下,可以看到里面是汇编代码 ③ 汇编 调用a...
gcc 主要有三个参数-E -S -c -o -l 以及不加参数 四个阶段:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。 -o 生成文件 如果有-E 就是生成预编译文件 如果是-S 就是生成汇编文件 如果是-c 就是生成目标文件 -E参数 -E代表 只进行预编译 将包含的头文件重新...
1.预处理,生成.i的文件[使用-E参数] 2.将预处理后的文件转换成汇编语言,生成文件.s[使用-S参数] 3.由汇编变为目标代码(机器代码)生成.o的文件[使用-c参数] 4.连接目标代码,生成可执行程序[使用-o参数] -x language filename 设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定,C语言...
-S参数将对源程序example.c进行预处理、编译,生成example.s文件 -o选项同上 3.arm-linux-gcc-E -o example.i example.c -E参数将对源程序example.c进行预处理,生成example.i文件(不同版本不一样,有的将预处理后的内容打印到屏幕上) 就是将#include,#define等进行文件插入及宏扩展等操作。
gcc -g -c 2.c gcc -g -c 3.c 然后链接成可执行文件 gcc -o test 1.o 2.o 3.o 此时生成的 test 是可以用gdb来调试的,因为它包括了符号表等调试信息。但是如果你用 gcc -s -o test_s 1.o 2.o 3.o 生成的 test_s 就不能调试了,因为-s参数把符号表等信息都从可执行文件中...
gcc -S hello.s -o hello.i //编译gcc -c hello.i -o hello.o //汇编gcc hello.o -o hello //链接 1)预处理,C编译器对各种预处理命令进行处理,包括文件包含、宏定义的扩展、条件编译的选择等; 2)编译,将预处理得到的源代码文件,经过“翻译转换”,产生机器程序,得到机器语言的汇编文件; 3)汇编,将...
解析 gcc编译器的常用参数:-o,-I,-L,-E,-S,-c 功能:-o表示编译成一个可执行程序;-I表示指定头文件目录;-L表示指定库文件目录选项;-E表示对源代码进行预编译;-S表示编译成汇编代码;-c表示把.c文件转换为以.o为扩展名的目标文件。反馈 收藏
常用参数:-E 输出预处理后的文件 -i -S 输出编译生成的汇编文件 .s -c 输出汇编文件生成目标文件 ...