新手友好!C++ 代码编译、运行与调试全流程指南

新手友好!C++ 代码编译、运行与调试全流程指南

在学习 C++ 的过程中,掌握代码的编译、运行以及调试方法是至关重要的。本文将以 Windows 系统为例,详细介绍如何在命令提示符(CMD)和 VS Code 中完成这些操作,同时还会解决一些常见问题,让你轻松上手 C++ 编程。

一、单个 .cpp 文件的编译与运行

1. 环境准备

确保 g++ 编译器已经正确安装,并且其所在的路径已经添加到系统的环境变量 PATH 中。你可以在命令提示符中输入 g++ --version 来检查 g++ 是否可用,如果能显示 g++ 的版本信息,说明安装和配置成功。

2. 切换到 .cpp 文件所在目录

使用 cd 命令切换到包含该 .cpp 文件的目录。如果文件位于 D:\my_cpp_project 目录下,可以使用以下命令切换:

收起

batch

cd /d D:\my_cpp_project

3. 编译 .cpp 文件

使用 g++ 命令编译 .cpp 文件。假设 .cpp 文件名为 single_file.cpp,使用以下命令将其编译成可执行文件:

收起

batch

g++ single_file.cpp -o my_program

4. 执行生成的可执行文件

编译成功后,在命令提示符中输入可执行文件的名称来运行程序:

收起

batch

my_program.exe

二、多个 .cpp 文件的编译与运行

1. 示例代码

假设有两个文件 main.cpp 和 support.cpp,内容如下:

main.cpp

收起

cpp

#include <iostream>

int count ;
extern void write_extern();

int main()
{
   count = 5;
   write_extern();
}
support.cpp

收起

cpp

#include <iostream>

extern int count;

void write_extern(void)
{
   std::cout << "Count is " << count << std::endl;
}

2. 编译多个文件

同样要先切换到文件所在目录,然后使用以下命令编译:

收起

batch

g++ main.cpp support.cpp -o my_program

3. 执行程序

收起

batch

my_program.exe

三、解决黑框一闪而过的问题

当双击 my_program.exe 程序时黑框一闪而过,可采用以下方法解决:

方法一:在代码中添加暂停语句(仅适用于 Windows)

在 main 函数的末尾添加 system("pause"); 语句:

收起

cpp

#include <iostream>

int count;
extern void write_extern();

int main()
{
    count = 5;
    write_extern();
    system("pause"); 
    return 0;
}

方法二:从命令提示符中运行程序

打开命令提示符,使用 cd 命令切换到包含 my_program.exe 的目录,然后输入 my_program.exe 运行程序。

方法三:使用 getchar() 或 std::cin.get()(跨平台)

在 main 函数末尾添加 std::cin.get(); 语句:

收起

cpp

#include <iostream>

int count;
extern void write_extern();

int main()
{
    count = 5;
    write_extern();
    std::cin.get(); 
    return 0;
}

四、在 VS Code 中联调多个 .cpp 文件

1. 安装必要的扩展

安装 Microsoft 提供的 C/C++ 扩展。

2. 配置 tasks.json 文件

打开终端,选择 “终端” -> “配置任务”,选择 “C/C++: g++ 生成活动文件”,修改 .vscode/tasks.json 文件内容如下:

收起

json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "main.cpp",
                "support.cpp",
                "-o",
                "my_program"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ]
}

3. 配置 launch.json 文件

点击调试图标,选择 “创建 launch.json 文件”,选择 “C++ (GDB/LLDB)”,修改 .vscode/launch.json 文件内容如下:

收起

json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/my_program",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file"
        }
    ]
}

4. 设置断点并开始调试

在代码中设置断点,点击调试图标,选择调试配置,点击绿色三角形按钮开始调试。

五、Windows 命令行切换磁盘与目录

在命令提示符(CMD)中切换到 D 盘

方法一:直接输入盘符

收起

batch

C:\Users\yourusername> D:
方法二:结合 cd 命令使用 /d 参数

收起

batch

C:\Users\yourusername> cd /d D:\Projects

在 PowerShell 中切换到 D 盘

方法一:直接输入盘符

收起

powershell

PS C:\Users\yourusername> D:
方法二:使用 Set-Location 命令

收起

powershell

PS C:\Users\yourusername> Set-Location D:\Documents

通过以上步骤,你可以轻松完成 C++ 代码的编译、运行和调试,同时掌握 Windows 命令行的基本操作。希望本文能帮助你在 C++ 学习之路上迈出坚实的一步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值