前言:
第一次使用VS code,才理解了真正意义的编辑器与编译器
VS code只是个写代码的地方,叫做编辑器,本身不提供编译运行
gcc是一个编译器,本身在黑窗口cmd里面运行
一、VS code 与 gcc 的安装与调试
windows 10上使用vscode编译运行和调试C/C++https://zhuanlan.zhihu.com/p/77645306gcc的安装与环境变量配置
https://www.cnblogs.com/TAMING/p/9945389.html
二、一些Windows下的命令行
三、gcc的操作
1、常用操作
2、 编译源代码
在D盘下面的test文件夹里新建两个文件
(1)编译C文件
编译tes1.c, 命令:gcc 文件名 -o 编译后的文件名
其中,-o 编译后的文件名 可以省略
gcc test1.c -o test1
编译后生成一个test1.exe文件
(2)编译C++文件
gcc默认情况是编译c语言的,下,如果直接编译c++程序,会报错:
D:\test>gcc test2.cpp -o test2
C:\Users\username\AppData\Local\Temp\cckqX2jQ.o:test2.cpp:(.text+0x1c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
C:\Users\username\AppData\Local\Temp\cckqX2jQ.o:test2.cpp:(.text+0x2b): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\Users\username\AppData\Local\Temp\cckqX2jQ.o:test2.cpp:(.text+0x4a): undefined reference to `std::ios_base::Init::~Init()'
方法一:将gcc替换为g++
g++ test2.cpp -o test2
编译之后生成test2.exe文件
方法二:增加参数-lstdc++
gcc test2.cpp -o test2 -lstdc++
编译效果与方法一一样
说明三:gcc与g++的区别
实际使用中我们更习惯使用 gcc 指令编译 C 语言程序,用 g++ 指令编译 C++ 代码
gcc 是通用编译指令,根据文件的后缀名,gcc 指令可以自行判断出当前程序所用编程语言的类别
但如果使用 g++ 指令,则无论后缀名是什么,都一律按照编译 C++ 代码的方式编译该文件
(3)编译时指定编译标准
借助 -std=编译标准 实现
g++ -std=c++11 test2.cpp -o test2
(4)执行可执行文件
直接输入文件名即可(Windows系统下)