SKRaua 2024-03-16 13:01 采纳率: 40%
浏览 300

mac上用vscode编译运行c代码无输出,求解答

点击 好 也没输出,用终端可以手动gcc编译运行,搞不来,求解答

img

img

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-03-16 13:01
    关注

    引自免费微信小程序:皆我百晓生

    在Mac上使用VSCode编译并运行C/C++代码时,尽管编译成功(如输出“生成已成功完成”),但没有看到预期的输出结果。这可能是因为在VSCode的任务配置中缺少了运行程序的步骤。要解决这个问题,请按照以下步骤操作:

    1. 首先确保你的launch.json文件正确配置了运行任务。打开VSCode,在调试侧栏点击齿轮图标创建一个新的配置文件(或修改现有配置)。
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${workspaceFolder}/demo", // 确保这里指向你的可执行文件路径
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true, // 如果希望在外部终端显示输出,设置为true
                "MIMode": "lldb",
                "preLaunchTask": "C/C++: gcc build active file" // 确保这个任务名与tasks.json中的对应
            }
        ]
    }
    
    1. 接着检查或更新tasks.json以确保GCC编译器不仅编译源代码还生成可执行文件,并且该文件会被launch.json引用。
    {
        "version": "2.0.0",
        "tasks": [
            {
                "type": "shell",
                "label": "C/C++: gcc build active file",
                "command": "/usr/bin/gcc", // 检查GCC路径是否正确
                "args": [
                    "-g",
                    "${file}", // 编译当前活动文件
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}", // 输出可执行文件到当前目录
                    "-Wall"
                ],
                "options": {
                    "cwd": "${workspaceFolder}"
                },
                "problemMatcher": ["$gcc"],
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    
    1. 保存上述两个文件后,重新启动调试会话。当您点击开始调试按钮时,VSCode应自动编译源代码并生成可执行文件,然后运行它,并在外部控制台或调试控制台中显示输出。

    如果仍然无法看到输出,请尝试手动在终端中运行生成的可执行文件(例如:./demo),确保编译后的程序能够正常工作。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月16日