鱼C论坛

 找回密码
 立即注册
查看: 5350|回复: 3

vscode怎么切换32位和64位编译环境?

[复制链接]
发表于 2023-4-21 10:51:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图所示,右下角好像一直有Win32,编译结果一直是4。64下编译long字节长度应该为8的,百度了修改环境也还是不行,对vscode配置不是很熟悉,请求指点
个人使用的编译器是mingw

屏幕截图 2023-04-21 104746.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-21 11:51:37 | 显示全部楼层
在 Visual Studio Code 中,你可以通过修改 tasks.json 配置文件来切换 32 位和 64 位编译环境。这里是一个基本步骤:

1. 首先,确保你已经安装了 32 位和 64 位的 MinGW 编译器,并且它们已经被添加到系统环境变量 PATH 中。

2. 在 VSCode 中打开你的项目文件夹。

3. 点击左侧边栏的 "终端" 图标,然后点击 "运行任务"。如果你还没有设置任何任务,点击 "创建 tasks.json 文件"。

4. 在打开的 tasks.json 文件中,添加两个任务,分别用于 32 位和 64 位编译环境。你可以使用以下模板:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build (32-bit)",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-m32",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}_32.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        },
        {
            "label": "build (64-bit)",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-m64",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}_64.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "problemMatcher": "$gcc"
        }
    ]
}

5. 保存 tasks.json 文件并关闭。

6. 当你需要切换编译环境时,只需点击左侧边栏的 "终端" 图标,然后点击 "运行任务"。在弹出的任务列表中,选择 "build (32-bit)" 或 "build (64-bit)",即可编译对应环境下的可执行文件。

7. 生成的可执行文件将被放置在源文件相同的文件夹下,并带有 "_32.exe" 或 "_64.exe" 后缀,以表明它们分别是 32 位和 64 位版本。

这样,你就可以根据需要在 VSCode 中轻松切换 32 位和 64 位编译环境了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-22 10:02:02 | 显示全部楼层
根据您提供的截图信息,右下角的显示 Win32 是指当前所使用的编译器工具链是 32 位的。而对于 long 类型在 64 位编译环境下的长度问题,可能是因为您的编译器默认将 long 类型定义为 32 位的,而不是 64 位的。

如果您使用的是 MinGW-w64 作为编译器,可以通过在编译时指定 -m64 选项来进行 64 位编译,如下所示:
g++ -m64 main.cpp -o main
如果您使用的是旧版的 MinGW,则可能需要使用另一个名为 mingw-w64 的开源项目,该项目支持在 64 位 Windows 平台下进行 C/C++ 编译。您可以尝试安装该项目并使用其中的 x86_64-w64-mingw32-g++.exe 编译器来进行 64 位编译。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-12 21:49:02 | 显示全部楼层
遇到一样的问题,全网都没搜到答案,mingw64不是支持32位编译的么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表