Makefile文件详解一(gcc命令参数详解)
gcc编译源文件共有4个过程,预处理、编译、汇编、链接。
预处理:
命令:gcc -E test.c -o test.i (-o后面指定生成文件的命名)
过程:展开宏定义(#define),处理编译条件指令(#if #ifndef等),插入引用的头文件(#include),删除注释,添加行号和文件标识。
结果:生成.i文件,一般的文本编辑器都能打开
编译:
命令:gcc -S test.i -o test.s
过程:词法分析,语法分析,语义分析,生成相应的汇编代码
结果:生成.s文件,一般的文本编辑器都能打开
汇编:
命令:gcc -c test.s -o test.o
过程:将汇编语言转换成二进制文件
结果:生成.o文件,一般的文本编辑器无法打开,二进制文件都是0、1
链接:
命令:gcc test.o -o test
过程:链接动态库、静态库
结果:生成可执行文件
我们编译源文件的时候,可以分步编译,也可以使用gcc test.c -o test直接生成可执行文件。将多个源文件编译输出时,需要一起进行gcc编译,可利用Makefile文件来实现。
分步编译如下:
最后得到main可执行文件,在cmd命令窗口下输入main+回车,即可运行main可执行文件。
Makefile文件详解一(gcc命令参数详解)相关推荐
- oracle spool 分隔符_sqlplus--spool命令参数详解
sqlplus--SPOOL参数详解 Spool是Oracle快速导出数据的工具,是sqlplus的指令,不是sql语法里的东西 一.Spool常用的设置 set arraysize 5000; / ...
- Linux 之 编译器 gcc/g++参数详解
2016年12月9日16:48:53 ----------------------------- 内容目录: [介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g+ ...
- GCC 命令行详解 -L -l
我们用gcc编译程序时,常常会用到"-I"(大写i),"-L"(大写l),"-l"(小写l)等参数,下面做个记录: GCC 命令行详解 -L ...
- oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 expsyste ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...
- linux :Tar 命令参数详解
linux Tar 命令参数详解 tar命令 1. 作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户. 2. 格式 tar [主选项+辅 ...
- java ext.dirs_关于-Djava.ext.dirs使用及JAVA 命令参数详解System.setProperty
大家在linux环境下使用命令行执行java程序时,经常要使用到大量外部的jar包或class文件,一般我们有哪些方式可以用呢? -classpath,命令格式:# java -classpath , ...
- Windows 运行chkdsk磁盘修复工具命令参数详解
Windows 运行chkdsk磁盘修复工具命令参数详解 chkdsk是Windows系统自带的磁盘修复工具,通常在电脑非正常关机之后再开机,系统就会自动调用chkdsk工具进行磁盘扫描和修复.同时, ...
- Mount 命令参数详解
Mount 命令参数详解 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该文件夹关联起来,因此只要访问这个文件夹,就相当于访问该分区了. 目前mount已 ...
最新文章
- 云炬创业政策学习笔记20210116
- Arduino--库函数头文件
- 图像语义分割:U-Net网络和PSP网络
- linux系统命令行基础知识点
- [机器学习笔记] Note4--逻辑回归
- 跨部门不配合工作_作为管理者,如何解决跨部门成员互不配合的情况?
- 代码运行错误及解决方法
- 王秋杨的“前世”和她的“在路上”
- toad 连接mysql8.0_toad for mysql免费版
- 项目经理和产品经理之区别
- stephen boyd著王书宁译凸优化课后题答案
- Android签名验证与反调试机制的对抗技术
- 冒险岛 mysql 添加账号密码_Win7系统玩冒险岛079单机版输入账号密码后出现error38怎么办...
- 肝肠轴——看不见的Crosstalk
- Win10右键文件夹卡死如何处理
- Java中HashMap底层实现原理
- OpenCV中的归一化
- C语言自定义数组函数
- python根据json数据画疫情分布地图
- JAVAEE真实课堂系列之Struts2框架-刘志远-专题视频课程