gcc工作流程和编译原理 1. 预处理 gcc -E 2. 编译 gcc -S 3. 汇编 gcc -c 4. 链接 没参数 gcc的参数 -I 指定头文件的路径 -o 指定生成的文件名 -D 在编译的时候给代码定义宏 -O 优化程序 后面跟 0 1 2 3 这是优化等级 -Wall 在程序编译的时 ...
分类:
其他好文 时间:
2018-09-08 11:48:18
阅读次数:
193
预处理 gcc-E-o a.i 001.c 编译: gcc-S-o a.s a.i 汇编: gcc-c-o a.o a.s 链接: gcc-o a.o 跟查找头文件的目录 gcc -I 预处理的使用: #define 宏名 宏体 #define ABC 5+3 #define ABC(x) (5+( ...
分类:
编程语言 时间:
2017-09-15 02:14:07
阅读次数:
225
unix/linux gcc编译器 gcc -e 预处理 gcc -s 汇编 gcc -c 进行编译 gcc -o 起个别名 gcc 编译链接 gcc -v 查看版本号 gcc -wall 尽可能多的生成警告信息 基本预处理指令 1、#include 主要包含头文件,可以使用头文件定义变量,函数,结 ...
分类:
系统相关 时间:
2016-08-05 08:55:18
阅读次数:
205
第七周、可执行程序的装载 一、可执行程序是如何产生的? (1).c文件gcc汇编形成.s和.asm汇编代码; (2)汇编代码经过gas变成.o目标文件; (3)目标文件变成可执行文件; (4)可执行文件loader之后存储。 二、目标文件格式ELF (1)可重定位文件(用来和其他object文件一起 ...
分类:
系统相关 时间:
2016-04-08 21:52:19
阅读次数:
303
1.重点知识点梳理: GCC编译的四个步骤:预处理(gcc -E)、编译(gcc -S)、汇编(gcc -c)、链接 静态链接库的生成:ar rcsv libxxx.a xxx.o 共享库的生成 gcc -fPIC -c xxx.c快速记忆Vim:Vim具有6种基本模式和5...
分类:
其他好文 时间:
2015-09-27 18:41:06
阅读次数:
212
GCC,linux的GNU C编译器使用AT&T/UNIX汇编语法。
(一):AT&T汇编和intel汇编的不同
1:前缀
在intel语法中,寄存器和立即数都没有前缀,而在AT&T中,寄存器使用前缀“%”,而立即数前面使用前缀“$”;
在intel语法中,十六进制和二进制立即数后面缀以”h”和“b”,但在AT&T语法中,在前面缀以”0x”,
2:操作数的方向不同
AT&T和intel汇...
分类:
其他好文 时间:
2015-04-18 08:51:45
阅读次数:
188
.h(头文件) .m(源文件c、oc) .mm(源文件c、oc、c++)gcc -c -o 汇编-framework Foundation链接 NS开头字符串对象加@oc中完全兼容c的函数库NSLog可以自动换行,并且提供文件名编译时间等需要包含头文件,每一个框架都有一个主头文件,其名字和主头文件相...
分类:
编程语言 时间:
2015-04-10 23:46:55
阅读次数:
282
GCC
GCC参数
举例
GCCgcc大家都很熟悉,是个编译器,功能强大,全称是:GUN GCC。平时大家都简单的称为:GCC, 功能强大,能够编译很多的语言。包括:c, c++, java, ada等…GCC参数gcc平时有很多参数,在平时我编译小程序的时候,都直接gcc -o object source.c就可以了。但是有一次我想查看我同样目的但是不同写法的两个代码是执行效率上是否有差别。所以我...
分类:
编程语言 时间:
2015-03-30 01:38:12
阅读次数:
210
在把 Windows 程序移植到 Linux 时遇到了死循环,最后定位到了类似这种的语句 for (i = 0; i < 1; i = i++),
别问我谁写的,为什么这么写(泪目!)。
根据C语言的常识, i = i++ 应该等价于 i++, Windows 上确实是这样,但 Linux 不是,这应该是编译器差异造成的。
--------------------------------------- 可 i 的分割线...
分类:
系统相关 时间:
2014-12-31 01:05:57
阅读次数:
316