当前位置: 首页 > news >正文

gcc 编译的过程

#include <stdio.h>
#define PI 3.14
int main(int argc, char const *argv[])
{
//打印IP的值printf("PI = %lf\n", PI);return 0; 
}

编译的过程:预处理、编译、汇编、链接

1.预处理:宏替换、删除注释、头文件包含、条件编译 -E (不会报语法错误)

gcc ‐E hello.c ‐o hello.i 1、预处理

2.编译:将预处理后的文件 编译成 汇编文件 (报语法错误)

gcc ‐S hello.i –o hello.s 2、编译

3.汇编:将汇编文件 生成 二进制文件

gcc ‐c hello.s ‐o hello.o 3、汇编

4.链接:将工程的二进制文件 +库函数+启动代码 生成可执行文件

gcc hello.o ‐o hello_elf 4、链接

一步到位:

1.gcc main.c ‐o main
2 gcc main.c

http://www.lryc.cn/news/38041.html

相关文章:

  • Hadoop入个门
  • python 从0到批量下载某站视频
  • 【深度学习】神经网络和深度学习--卷积和池化的作用
  • 锦正茂风冷系列电源JCP-10-80的技术参数
  • Idea+maven+spring-cloud项目搭建系列--11-1 dubbo(zookeeper,nacos)注册中心
  • Python3入门教程||Python3 迭代器与生成器||Python3 函数
  • 快速幂算法
  • Hudi:问题总结(2)Flink-1.13.1消费kafka并插入hudi
  • Application工具方法
  • 电脑游戏怎么录屏?其实很简单,只需要简单3步
  • 【设计模式】go语言中的 [函数选项,单例,工厂,责任链] 常用的设计模式
  • 2017系统分析师案例分析真题背记内容
  • C++和C的区别
  • 【React教程】一、React简介
  • 运动蓝牙耳机什么牌子好,比较好的运动蓝牙耳机推荐
  • [深入理解SSD系列 闪存实战2.1] NAND FLASH特性串烧 | 不了解闪存特性,你能用好闪存产品吗?
  • DJI ROS dji_sdk 源码分析|整体框架
  • HT32合泰单片机开发环境搭建和配置教程
  • 动态内存分配之伙伴算法
  • CGAL 根据扫描线方向和角度对法向量进行重定向
  • 一个C#开发的开源的快速启动工具
  • Paddle项目调试记录
  • 3月11日,30秒知全网,精选7个热点
  • C win32基础学习(四)
  • Java 日期时间API(Java 8及以上)
  • DHCP的配置
  • JavaWeb14-线程池
  • [qiankun+nuxt]子应用请求本地文件报错404
  • 【Qt网络编程】实现TCP协议通信
  • Webpack打包———处理样式资源