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文件。

相关推荐
xiaobobo33304 小时前
c语言中for循环条件中定义临时栈变量的作用域
c语言·for循环条件定义栈变量·大括号作用域·独立栈变量
geovindu4 小时前
CSharp: 万年历
开发语言·后端·c#·.net
我找到地球的支点啦4 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信
予昊4 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
惜离殇5 小时前
从零开始的敲代码生活--Linux应用软件(文件操作基础1)
linux·c语言·文件操作·标准io
weixin_461408585 小时前
Mybatis-flex小记
java·开发语言·mybatis
青梅味猪大肠6 小时前
【深入浅出C++】为什么虚表指针可以解决菱形继承
开发语言·c++
潘潘的嵌入式日记6 小时前
I²C 从机接收总被覆盖?双缓冲要在 STOP 时交接
c语言·开发语言·单片机
Lhan.zzZ7 小时前
QML 组件库:VS2022 + Qt 静态库方案
开发语言·c++·qt·visual studio
敲代码的嘎仔7 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂