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

24/06/29(21.1205)程序的编译和链接

源文件 ---> 可执行文件,这一过程要执行的流程:

预处理 编译 汇编 链接 

组成每一个程序的每个源文件通过编译过程分别转换成目标代码;每个目标代码由链接器捆绑在一起,形成一个单一而完整的可执行程序;链接器同时也会引入标准函数库中任何被该程序所用到的函数,而且它可以按照程序员个人的程序库将其需要的函数也链接到程序中.

Linux需要掌握:编辑器vim,编译器gcc/g++,调试器gdb,makefile多文件自动化编译

test.c

.i 生成预处理文件gcc -o test.i -E tesr.c (展开头文件 #include<>;进行宏替换)不进行语法检查

.s 汇编文件 gcc -o test.s -S test.i(进行语法检查,生成汇编文件)

gcc -o test.o -c test.s 生成目标文件

gcc -o test test.o链接生成最终的可执行文件

./执行文件test

#include<>和include""搜索路径不同

<>在安装程序的include下搜索""在当前的工作目录搜索.

1.头文件中 ifndef/defint/endif是干什么用的

2.#include<filename.h>和#include"filename.h"有什么区别

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

相关文章:

  • 使用Java Executors框架处理并发任务
  • LeetCode:经典题之144、94、145、102题解及延伸|二叉树的遍历|前中后层序遍历|Morris算法
  • ONLYOFFICE 桌面编辑器 8.1全新发布,更强大的编辑工具
  • 百日筑基第六天-了解一下Dubbo
  • 微机原理 复习
  • 5年工作经验面试经验以及面试题分享
  • C# enum Enumeration Type 枚举
  • 【ajax07基础】回调函数地狱
  • 华为升腾显卡选型备忘
  • Interview preparation--elasticSearch正排索引原理
  • C++精解【10】
  • Linux高级编程——进程
  • 手机数据恢复篇:如何在OPPO中恢复永久删除的视频?
  • Obsidan插件开发
  • 【全球首个开源AI数字人】DUIX数字人-打造你的AI伴侣!
  • 微信小程序服务器从腾讯云迁移到阿里云出现的坑
  • SQL Server触发器深度解析:数据完整性的守护者
  • Qt信号槽的坑
  • 昇思MindSpore学习笔记1--基本介绍
  • Github Page 使用手册(保姆级教程!)
  • zram压缩机制看swapon系统调用
  • SpringBoot2+Vue3开发博客管理系统
  • JS【详解】Symbol (含Symbol 作为属性名,静态方法for 和 keyFor,11 个内置的 Symbol 值)
  • Vue 项目运行时,报错Error: Cannot find module ‘node:path‘
  • 综合评价 | 基于组合博弈赋权的物流系统综合评价(Matlab)
  • 国标GB28181视频汇聚平台EasyCVR安防监控系统常见播放问题分析及解决方法
  • 30 哈希的应用
  • (笔记)Error: qemu-virgl: Failed to download resource “qemu-virgl--test-image“解决方法
  • IntelliJ IDEA介绍
  • 【office技巧】如何合并pdf并且添加目录页