codecamp

代码编译(使用mingw)

编辑代码

使用记事本或者代码编辑器写一段程序(这里不推荐使用记事本,本文使用vscode进行代码编写)。

源代码

首先通过命令行进入你准备要创建文件的目录下进行后续操作。

编译过程

编译过程分为四个步骤:预处理、编译、汇编、链接。

1.预处理

预处理主要处理源文件中的“#include”、“#define”等预处理命令。

预处理主要完成的工作有:

(1)删除#define,展开宏;

(2)处理条件编译指令,预处理程序先判断条件,在根据条件修改源代码;

(3)删除注释;

(4)添加行号,以及文件名标识,便于调试;

(5)删除“#include”,插入相应的头文件;

使用​​g++ -E test.cpp -o test.i​​​命令,预处理后得到​​test.i​​文件

预处理

2.编译

生成汇编代码的过程,使用命令​​g++ -S test.i -o test.s.​​生成汇编文件​​test.s​​文件,当然直接从​​test.cpp​​文件得到汇编文件也可以。

编译成汇编

3.汇编

将汇编代码转化成机器指令,生成目标二进制代码。

使用命令​​g++ -c test.s -o test.o​​生成​​test.o​​文件

汇编转化为机器指令

4.链接

通过链接库文件,将目标文件转化成可执行文件

使用命令​​g++ test.o -o test.exe​

链接

另一种更常见的编译方式

当然,一般情况下,可以直接使用​​g++ test.cpp -o test​​ 就可以生成可执行程序了。

运行程序

最后使用命令​test.exe​,即可运行程序。

命令行运行程序

也可以直接点击exe文件进行运行。

点击运行


温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }