gcc的作用
把代码编译成二进制文件
预处理----头文件,宏定义展开,条件编译 干掉注释代码
编译成汇编代码
生成目标代码.o (还不能执行)
链接(动态库)生成可执行程序 xxx.out
运行前,内存已经存在分区,执行时代码才载入内存
运行前内存分为(代码区-----只读,函数;data---初始化的数据,全局变量,静态变量(全局,局部),文字常量区(只读)bss---未初始化的数据,全局变量,静态变量)
运行时,加载上述内存分区,然后加载栈区(自动分配空间,自动释放)---自动管理内存
然后加载堆区----手动申请空间,然后手动释放----程序结束,系统也会回收
- 栈的特点-----先进后出
gcc的作用的更多相关文章
- ccache高速编译工具
ccache的主页:http://ccache.samba.org distcc的主页:http://distcc.samba.org 1.背景: 在处理一些规模相对较大的工程时,编译花费的时间可能会 ...
- Makefile自动生成头文件依赖
前言 Makefile自动生成头文件依赖是很常用的功能,本文的目的是想尽量详细说明其中的原理和过程. Makefile模板 首先给出一个本人在小项目中常用的Makefile模板,支持自动生成头文件依赖 ...
- Autotest添加测试用例小结
Autotest本身是一个自动化测试框架,可以在上面添加各种测试工具用于系统测试.前几天我在上面添加了几个基于龙芯桌面5.0系统的性能测试工具.现在做以下总结,大体写以下添加的过程. 以unixben ...
- Makeflie自动生成依赖,自动化编译
在netbeans里开发,有一个重要文件makefile,是用来编译所有的文件. 项目的目录结构如下,扁平的目录结构,如何实现自动化编译,写makefile呢? 第一版 基础版: CC = g++ C ...
- [转] GCC __builtin_expect的作用
http://blog.csdn.net/shuimuniao/article/details/8017971 将流水线引入cpu,可以提高cpu的效率.更简单的说,让cpu可以预先取出下一条指令,可 ...
- GCC优化选项-fomit-frame-pointer对于esp和ebp优化的作用
我的博客:www.while0.com -fomit-frame-pointer选项是发布产品时经常会用到的优化选项,它可以优化汇编函数中用edp协助获取堆栈中函数参数的部分,不使用edp,而是通过计 ...
- GCC中 -I、-L、-l 选项的作用
在makefile中经常会看到这些选项,gcc默认会在程序当前目录.path路径中查找所需要的材料 如何给gcc添加我们自己的原材料(头文件,库等) -I (注意是大写的i) 给gcc添加自定义的头文 ...
- gcc链接参数--whole-archive的作用
// a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); ...
- GCC __builtin_expect的作用
https://blog.csdn.net/shuimuniao/article/details/8017971 #define LIKELY(x) __builtin_expect(!!(x), 1 ...
随机推荐
- 逆转单向链表看这一篇就够了【JAVA】
逆转单向链表 逆转前: 1 -> 2 -> 3 -> 4 -> 5 -> null 逆转后: 5 -> 4 -> 3 -> 2 -> 1 -> ...
- 菜单特效jq
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 龙芯PG10 安装uuid-ossp 的方法 复用瀚高数据库的 so文件
接着上一篇blog 当时在中标麒麟 龙芯上面安装了postgresql10.10 的版本 但是没搞定 uuid 当时遇到的问题: 0. 只安装postgresql数据库会报错如图示: 我验证了下 安 ...
- 路由器设置 WDS 桥接
步骤: 1.先更改路由器LAN口地址,然后重启路由器 2.连接SSID信道名称,先关闭DHCP服务,然后进入无线设置,基本设置,更改SSID号,开启WDS桥接,保存 3.连接新的SSID名称,无线设置 ...
- 剑指offer36:两个链表的第一个公共结点
1 题目描述 输入两个链表,找出它们的第一个公共结点. 2 思路和方法 方法一: 用两个指针同时从两个链表的表头开始走,当走到自己的链表结尾的时候开始从另一个链表的表头开始向后走.终止条件就是两个指针 ...
- 【Python基础】01_Python中的变量
1.定义和运算: 变量名 = 值 定义变量举例: # 定义一个变量 myCar = "比亚迪F0" # 输出一个变量 print(myCar) 变量之间的简单运算举例: price ...
- 导出excel的功能效果实现
<el-button @click="exportExcel" > <i style="display: inline-block;"> ...
- java 字符串处理的
@Test public void testString(){ /*字符串处理 */ String email="123456789@qq.com"; System.out.pri ...
- codeforce 839d.winter is here
题意:如果一个子序列的GCD为1,那么这个子序列的价值为0,否则子序列价值为子序列长度*子序列GCD 给出n个数,求这n个数所有子序列的价值和 题解:首先得想到去处理量比较少的数据的贡献,这里处理每个 ...
- ASP.NET Core 入门(4)(IIS 部署前后端站点)
.NET Core发布部署的文章园内有很多了,大家可以自行百度,该篇主要想总结需要注意的地方,列举前后端(比如前段 Vue,后端 WebAPI)在同一台服务器上的主要两种方式. 两种方式: 1. 前后 ...