{{indexmenu_n>3}} ====== C++ ====== 1979年,C++诞生于贝尔实验室,是典型的面向对象编程语言(C是典型的面向过程编程语言,面向过程和面向对象是两种重要的编程思想)。C/C++具有由美国国家标准协会(ANSI)及国际标准化组织(ISO)维护的标准,在编程语言中,地位极高,而C++是信息学奥林匹克竞赛(NOI)的参赛语言。 Windows 是绝佳的 C++ 开发的平台;[[https://visualstudio.microsoft.com/zh-hans/downloads/|Visual Studio]] 是面向 .NET 和 C++ 开发人员的综合性集成开发环境(IDE),Visual Studio Code([[https://code.visualstudio.com/download|VS Code]])是可在 Windows、macOS 和 Linux 上运行的独立源代码编辑器。尽可能使用 Windows 版 Visual Studio,或 macOS 和 Linux 版 VS Code。另外一个被推荐的开源 C/C++ IDE 是 Code::Blocks,它是 NOI、NOIP 指定的 C/C++ 集成开发环境。 ===== 1、安装Visual Studio ===== 典型的Visual Studio有三个版本: * Visual Studio Community:对学生、开源贡献者和个人免费; * Visual Studio Professional:面向个人开发人员或小型团队; * Visual Studio Enterprise:适合设计、生成和部署复杂的企业应用程序。 学习者应选择Visual Studio Community,安装过程非常简单,且无需配置即可工作。 {{ :program:c:maxresdefault.jpg |}} {{ :program:c:捕获.jpg |}} 通过VisualStudioSetup.exe启动Visual Studio Installer,选择“使用 C++ 的桌面开发”(仅选择所需的组件来节省安装时间和磁盘空间,并始终可以根据需要随时以增量方式添加更多组件)。 ===== 2、安装VS Code及插件支持 ===== VS Code通过按需安装插件来支持不同语言及功能。参考[[https://code.visualstudio.com/docs/cpp/config-mingw|官方教程]],配置 Visual Studio Code 以使用mingw-w64中的 GCC C++ 编译器 (g++) 和 GDB 调试器来创建在 Windows 上运行的程序。 * 在VS Code的扩展视图(Ctrl+Shift+X)中搜索“c++”来安装 C/C++ 扩展; * 通过[[https://www.msys2.org/|MSYS2]]获得并安装最新版本的Mingw-w64; * 在带 MinGW 的 Windows 上安装Mingw-w64 工具链,包括编译器和调试器,在UCRT64 环境的终端中运行:pacman -S --needed base-devel mingw-w64-x86_64-toolchain; * 修改用户环境变量,将 Mingw-w64 文件夹的bin路径添加到 Windows环境变量的PATH中: * 在UCRT64 环境的终端中用gcc --version\g++ --version\gdb --version检查Mingw-w64 工具的安装结果,分别是c编译器,c++编译器和调试器。 * 添加测试程序源代码,即万年不变的Hello World。 * 进入调试界面添加配置环境,选择 C++(GDB/LLDB),再选择 C/C++: g++.exe,之后会自动在.vscode文件夹生成 launch.json 调试器配置文件 * C++ 扩展使用计算机上安装的 C++ 编译器来构建程序,在编译器列表中选择C/C++: g++.exe 构建活动文件,并自动在.vscode文件夹生成tasks.json 构建配置文件。 * 如果您想要对 C/C++ 扩展进行更多控制,可以在.vscode文件夹创建一个c_cpp_properties.json文件,并通过从命令面板 ( Ctrl+Shift+P )运行命令C/C++: Edit Configurations (UI) 来查看 C/C++ 配置 UI。 =====3、Mac和Linux ===== * VS Code支持在Mac和Linux平台使用; * Mac:集成开发环境XCode; * Linux:文本编辑器vim,编译器g++,构建器CMake,集成开发环境CodeLite。 =====4、Hello World ===== Hello World程序通常用以检验开发环境是否正常运行,以及了解代码的基本结构。 #include using namespace std; int main() { cout << "Hello World !" << endl; system("pause"); return 0; }