C语言文件如何进行编译与链接步骤?

更新于
2026-10-04 00:06:22
0阅读来源:SEO问题
  • 内容介绍
  • 相关推荐

本文共计2126个文字,预计阅读时间需要9分钟。

C程序翻译和执行环境+首先,我们需要知道在标准C中存在两种不同的环境区分:程序的翻译环境和执行环境。那么这两种环境的职能是什么呢?+翻译环境+首先,我们需要了解一个或多个编译器+执行环境+程序运行时所需的环境

c程序的翻译和执行环境

首先我们要知道在标准c中存在着两种不同的环境分别是程序的翻译环境和执行环境。那么这两种环境的功能是什么呢?

翻译环境

首先我们要知道一个或是多个源文件是怎么变成一个可执行程序的呢?

我们可以通过下面的这张图更加大概的了解一个源文件是怎么变成一个可执行程序的。

那么翻译环境究竟包含哪些步骤呢? 这就是翻译环境所做的大概简图:

我们知道在一个c语言工程中会包含很多个源文件,而每一个源文件经过编译器单独编译之后都会形成各自对应的目标文件(假设源文件为test.c那么生成的目标文件也就是test.obj),每一个目标文件和链接库经过链接器,之后形成可执行程序。

我们简单写一个代码看是否存在这样的文件。

#include<stdio.h> extern int Add(int a, int b);//声明存在一个函数的名字为Add参数是两个整型 int main() { int a = 4,b = 5; int c = Add(a, b); printf("%d", c); return 0; }

这两个代码存在于两个不同的源文件中

int Add(int a, int b)//实现Add函数 { return a + b; }

现在我们就去工程文件里面去找是否真的生成了一个obj文件

从图片可以看出确实生成了obj文件,当然我是在vs2022的编译环境下,如果是在gcc的环境下生成的目标文件后缀就是.0。 现在我们就来较为详细的了解一个源文件是怎么编译成一个obj文件的。

阅读全文

本文共计2126个文字,预计阅读时间需要9分钟。

C程序翻译和执行环境+首先,我们需要知道在标准C中存在两种不同的环境区分:程序的翻译环境和执行环境。那么这两种环境的职能是什么呢?+翻译环境+首先,我们需要了解一个或多个编译器+执行环境+程序运行时所需的环境

c程序的翻译和执行环境

首先我们要知道在标准c中存在着两种不同的环境分别是程序的翻译环境和执行环境。那么这两种环境的功能是什么呢?

翻译环境

首先我们要知道一个或是多个源文件是怎么变成一个可执行程序的呢?

我们可以通过下面的这张图更加大概的了解一个源文件是怎么变成一个可执行程序的。

那么翻译环境究竟包含哪些步骤呢? 这就是翻译环境所做的大概简图:

我们知道在一个c语言工程中会包含很多个源文件,而每一个源文件经过编译器单独编译之后都会形成各自对应的目标文件(假设源文件为test.c那么生成的目标文件也就是test.obj),每一个目标文件和链接库经过链接器,之后形成可执行程序。

我们简单写一个代码看是否存在这样的文件。

#include<stdio.h> extern int Add(int a, int b);//声明存在一个函数的名字为Add参数是两个整型 int main() { int a = 4,b = 5; int c = Add(a, b); printf("%d", c); return 0; }

这两个代码存在于两个不同的源文件中

int Add(int a, int b)//实现Add函数 { return a + b; }

现在我们就去工程文件里面去找是否真的生成了一个obj文件

从图片可以看出确实生成了obj文件,当然我是在vs2022的编译环境下,如果是在gcc的环境下生成的目标文件后缀就是.0。 现在我们就来较为详细的了解一个源文件是怎么编译成一个obj文件的。

阅读全文