C 程序运行机制

1.编辑

编写C语言源程序代码,源程序文件以".c"作为扩展名。

2.编译

将C语言源程序转换为目标程序(或目标文件)。如果程序没有错误,没有任何提示,就会生成一个扩展名为".obj"的二进制文件。C语言中的每条可执行语句经过编译后最终都将被转换成二进制的机器指令。

3.链接/连接

将编译形成的目标文件".obj"和库函数及其他目录文件连接/链接,形成统一的可执行的二进制文件".exe"。

为什么需要链接库文件呢?

因为我们的C程序中会使用 C程序库的内容,比如<stdio.h> 、<stdlib.h> 中的函数printf()、system()等,这些函数不是程序员自己写的,而是C程序库中提供的,因此需要链接。链接后,生成的.exe 文件,比obj 文件大了很多。

4.运行

有了可执行的exe文件,我们可以在控制台下直接运行此exe文件。

相关推荐
郝学胜-神的一滴6 分钟前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
superman超哥7 分钟前
Rust 移动语义(Move Semantics)的工作原理:零成本所有权转移的深度解析
开发语言·后端·rust·工作原理·深度解析·rust移动语义·move semantics
青茶3609 分钟前
【js教程】如何用jq的js方法获取url链接上的参数值?
开发语言·前端·javascript
Batac_蝠猫11 分钟前
C - 内存缓存池2
c语言
superman超哥18 分钟前
Rust 所有权转移在函数调用中的表现:编译期保证的零成本抽象
开发语言·后端·rust·函数调用·零成本抽象·rust所有权转移
xiaowu08018 分钟前
C# 把dll分别放在指定的文件夹的方法
开发语言·c#
cchjyq25 分钟前
嵌入式按键调参:简洁接口轻松调参(ADC FLASH 按键 屏幕参数显示)
c语言·c++·单片机·mcu·开源·开源软件
mg66826 分钟前
0基础开发学习python工具_____用 Python + Pygame 打造绚丽烟花秀 轻松上手体验
开发语言·python·学习·pygame
无限进步_26 分钟前
【C语言】堆(Heap)的数据结构与实现:从构建到应用
c语言·数据结构·c++·后端·其他·算法·visual studio
xyd陈宇阳29 分钟前
C 语言宏定义(#define)语法与用法大全
c语言·嵌入式硬件