程序从源代码到可执行程序

简介: 这篇文章介绍了从源代码到可执行程序的转换过程,包括预处理、编译、汇编和链接四个主要步骤,并提到了解释性语言、脚本语言和超文本语言的不同处理方式。

程序从源代码到可执行程序所要经过的步骤

语言的分类:

  1. 解释性语言
    解释性语言 -通过编译器-> 可执行程序文件(机器语言) 包括(库(动态库,静态库))
    C C++ java C# objective-c等等
  2. 脚本语言
    源代码就是可执行程序文件
    shell javascript python等
  3. 超文本语言
    HTML

Ubuntu共享文件夹的默认位置

cd /mnt/hgfs/

程序从源代码到可执行程序中间经历的步骤

  1. 预处理
    预处理指令的执行 宏的展开(简单的替换)
    gcc -E *.c

    gcc -E test.c
    #将生成的文件内容重定向到test.txt
    gcc -E test.c > test.txt
    #查看文件的内容
    cat test.txt
    
  2. 预编译

  3. 编译
    语法检查 程序优化
    生成目标程序 *.o文件(二进制文件)
    gcc -c *.c

    #可以直接指定输出的文件名
    gcc -c test.c -o a.o
    #输出汇编文件
    gcc -S test.c
    
  4. 链接
    将多个目标程序(包括库)链接成一个可执行程序文件
    gcc *.o -o *.exe

    #直接输出*.exe文件
      gcc test.o -o test.exe
    #默认输出一个a.out文件
    #文件的运行
    ./a.out
    ./test.exe
    

本文如有错误还请大佬们指正

相关文章
|
安全 物联网 项目管理
RISC-V生态全景解析(四):玄铁VirtualZone基于RISC-V架构的安全扩展
芯片开放社区(OCC)面向开发者推出RISC-V系列内容,通过多角度、全方位解读RISC-V,系统性梳理总结相关理论知识,构建RISC-V知识图谱,促进开发者对RISC-V生态全貌的了解。
2356 0
RISC-V生态全景解析(四):玄铁VirtualZone基于RISC-V架构的安全扩展
|
4月前
|
XML 人工智能 自然语言处理
禅道文档 300 条用例一键生成:一次看懂爱测智能化测试平台的实力
测试团队面临需求碎片化、迭代加速的挑战,传统用例编写效率瓶颈凸显。爱测智能化测试平台借助生成式AI,实现从需求文档自动生成多场景、多格式、可执行的测试用例。通过大模型理解文档、智能体配置、知识图谱与自然语言驱动执行,平台几分钟内生成近300条高覆盖用例,支持导出至禅道等系统,全链路自动化。未来测试的竞争,是“会用AI”与“不会用AI”的差距。
二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
二叉树详解(深度优先遍历、前序,中序,后序、广度优先遍历、二叉树所有节点的个数、叶节点的个数)
|
数据可视化 Python
Python在医疗领域中的数据可视化实践案例
Python在医疗领域中的数据可视化实践案例
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
1060 159
|
知识图谱
YOLOv11改进策略【Conv和Transformer】| 2023 引入CloFormer中的Clo block 双分支结构,融合高频低频信息(二次创新C2PSA)
YOLOv11改进策略【Conv和Transformer】| 2023 引入CloFormer中的Clo block 双分支结构,融合高频低频信息(二次创新C2PSA)
404 8
YOLOv11改进策略【Conv和Transformer】| 2023 引入CloFormer中的Clo block 双分支结构,融合高频低频信息(二次创新C2PSA)
|
编解码 网络协议 安全
什么是猫池
猫池(外文名:ModemPOOL)就是将相当数量的Modem使用特殊的拨号请求接入设备连接在一起,可以同时接受多个用户拨号连接的设备。无线猫池设备广泛应用于大量具有多用户远程联网需求的单位或需要向从多用户提供电话拨号联网服务的单位。如邮电局、税务局、海关、银行、证券商、各类交易所、期货经纪公司、工商局、各类信息呼叫中心等。我公司的提供的猫池主要用于IP电话通讯使用,不是市面上的养卡猫池,这里我们再对猫池详细说明及功能使用:
6114 0
|
安全 虚拟化 数据中心
Xshell 连接 VMware虚拟机操作 截图和使用
Xshell 连接 VMware虚拟机操作 截图和使用
462 4
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
1670 1

热门文章

最新文章

下一篇
开通oss服务