后记:因为入职晚加上组织架构调整又被调去了Java+Scala组,拥抱变化吧233333
前言:学了2年Java,最后找的工作居然是C++的。之前搞ACM一直是在用C++,后来想做项目,了解到Java做项目可能更方便,然后转Java开发学了两年,没想到最后又转回来了,从头开始学了。
目录
第一章 搭建环境
1.1 安装编译器
首先要安装一个编译器,我们参考知乎上的回答[1],首先安装MinGW。
MinGW[2]的全称是:Minimalist GNU on Windows ,MinGW 就是 GCC 的 Windows 版本 。MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程。
那么GCC又是什么呢[3]?早期 GCC 的全拼为 GNU C Compiler,即 GUN 计划诞生的 C 语言编译器,显然最初 GCC 的定位确实只用于编译 C 语言。但经过这些年不断的迭代,GCC 的功能得到了很大的扩展,它不仅可以用来编译 C 语言程序,还可以处理 C++、Go、Objective -C 等多种编译语言编写的程序。与此同时,由于之前的 GNU C Compiler 已经无法完美诠释 GCC 的含义,所以其英文全称被重新定义为 GNU Compiler Collection,即 GNU 编译器套件。根据[1]说的,编译C++的其实叫做g++,也包含在GCC中。
安装步骤可以参考[1],即通常的下载解压配置环境变量,输入gcc -v有对应显示应该就能说明安装成功。
1.2 安装VSCODE扩展
这里参考[1],安装如下两个扩展
1.3 配置.vscode
这个我有点记不清楚了,说一下我现在怎么配置的吧,更详细的可以百度百度,我按F5或者选择运行中的启动调试,会弹出来几个选项,选择C++(GDB/LLDB)选项。
再然后选择g++.exe即可运行程序
第二章 运行C、C++程序
2.1 直接编译成可执行文件运行
上述配置好之后,按F5就可以运行代码了。
这里我们试验一下,不使用vscode,手动执行代码文件。
首先要了解代码执行流程[4]
原代码->汇编文件.s->二进制文件.o->链接后可执行文件.exe
运行C程序:
运行C++程序:
2.2 手动一步步编译运行
好像有点简单哈,我试一下复杂版本的
运行C程序[5]:
//生成预编译文件
gcc -E test.c -o test.i
//根据预编译文件生成汇编
gcc -S test.i -o test.s
//直接生成汇编
gcc -c -S test.c
//上面两个步骤二选一即可
//生成二进制文件
gcc -c test.s -o test.o
//链接生成.exe可执行文件
gcc test.o -o test
//执行文件
test
运行C++程序
//生成预编译文件
gcc -E haha.cpp -o haha.i
//根据预编译文件生成汇编
g++ -S haha.i -o haha.s
//直接生成汇编
gcc -c -S haha.cpp
//上面两个步骤二选一即可
//生成二进制文件
gcc -c haha.s -o haha.o
//链接生成.exe可执行文件(这里继续用gcc会报错未定义引用)
g++ haha.o -o haha
//执行文件
haha
参考:
1.Visual Studio Code 如何编写运行 C、C++ 程序? - 谭九鼎的回答 - 知乎 https://www.zhihu.com/question/30315894/answer/154979413
2. https://blog.csdn.net/itas109/article/details/99698227
3.http://c.biancheng.net/view/7930.html
4.https://blog.csdn.net/paulkg12/article/details/87885150
5.https://blog.csdn.net/weixin_43700340/article/details/85019760