编译——初识

编译

介绍

GCC(英文全拼:GNU Compiler Collection)是 GNU 工具链的主要组成部分,是一套以 GPL 和 LGPL 许可证发布的程序语言编译器自由软件,由 Richard Stallman 于 1985 年开始开发。
各文件后缀说明如下:
后缀
描述
后缀
描述
.c
C 源文件
.s/.S
汇编语言源文件
.C/.cc/.cxx/.cpp
C++ 源文件
.o/.obj
目标文件
.h
C/C++ 头文件
.a/.lib
静态库
.i/.ii
经过预处理的 C/C++ 文件
.so/.dll
动态库
source code file--源文件
Pre-processor--预处理
Compiler--编译器
Assembly code--汇编代码
Assembler--汇编器
Object file--目标文件-- 二进制文件--包含在 ASCII及扩展 ASCII 字符中编写的数据或程序指令的文件。计算机文件基本上分为二种:二进制文件和 ASCII(也称纯文本文件),图形文件及文字处理程序等计算机程序都属于二进制文件。
libraries--库文件-- 库文件是计算机上的一类文件,提供给使用者一些开箱即用的变量、函数或类。库文件分为静态库和动态库
静态库-- 静态库在程序的链接阶段被复制到了程序中
动态库-- 动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用
linker--链接器-- 一个程序,将一个或多个由 编译器 汇编器 生成的目标文件外加库链接为一个 可执行文件
Executable file--可执行文件
诸如括号、注释等非可执行语句并不会转化为机器指令
1.编译 hello.c,默认输出 a.out
gcc hello.c
2.编译 hello.c 并指定输出文件为 hello
gcc hello.c -o hello
3。只执行预处理,输出 hello.i 源文件
gcc -E hello.c -o hello.i
4.只执行预处理和编译,输出 hello.s 汇编文件
gcc -S hello.c
5.也可以由 hello.i 文件生成 hello.s 汇编文件
gcc -S hello.i -o hello.s
6.只执行预处理、编译和汇编,输出 hello.o 目标文件
gcc -c hello.c
7.也可以由 hello.i 或 hello.s 生成目标文件 hello.o
gcc -c hello.i -o hello.o
gcc -c hello.s -o hello.o
8.由 hello.o 目标文件链接成可执行文件 hello
gcc hello.o -o hello
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值