鱼C论坛

 找回密码
 立即注册
楼主: hrpzcf

[技术交流] Windows10 64位系统搭建 C/C++ 开发环境教程【VSCode + MinGW64】版

  [复制链接]
发表于 2021-10-21 16:21:07 | 显示全部楼层
雾岛风起 发表于 2021-10-21 16:19
就把test1的代码复制过去 然后用run的那个插件运行的

先保存就可以了 不好意思 因为之前用jupyter习惯了以为不需要保存 解决啦谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-21 16:19:50 | 显示全部楼层
hrpzcf 发表于 2021-10-19 15:14
test2你是怎么运行的?

就把test1的代码复制过去 然后用run的那个插件运行的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-20 08:57:39 | 显示全部楼层
66666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 22:30:54 From FishC Mobile | 显示全部楼层
111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-19 21:15:03 | 显示全部楼层
刚开始学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 15:14:29 From FishC Mobile | 显示全部楼层
雾岛风起 发表于 2021-10-19 14:43
图片不会怎么提交,我就口述我遇到的问题吧。就是新建的test.c运行是可以正常的,但是我如果我在相同目录下 ...

test2你是怎么运行的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 14:43:57 | 显示全部楼层
图片不会怎么提交,我就口述我遇到的问题吧。就是新建的test.c运行是可以正常的,但是我如果我在相同目录下新建一个test2.c的话,test2.c的代码是跑不出来的,就是简单的printf(“helloworld”)也是不行的,大佬知道怎么解决吗?我试过按照教程重新配置一遍还是不行啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 13:51:45 | 显示全部楼层
foxiangzun 发表于 2021-10-19 13:49
耽误了楼主不少时间,给楼主添麻烦了,问题终于搞定了,非常感谢

没事,我又更新了一下楼下的回答,逻辑更清晰一点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 13:49:23 | 显示全部楼层
hrpzcf 发表于 2021-10-19 13:39
你图片看的是json文件的编码,应该看.c文件的编码,你的源码文件编码应该是GBK。往下看:

处理方式 ...

耽误了楼主不少时间,给楼主添麻烦了,问题终于搞定了,非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 13:39:51 | 显示全部楼层
本帖最后由 hrpzcf 于 2021-10-19 13:50 编辑
foxiangzun 发表于 2021-10-19 12:48
感谢楼主的耐心指导,这边的中文乱码问题完美解决,但是新的问题又出来了。。编译好像没问题,但是运行就 ...


你图片看的是json文件的编码,应该看.c文件的编码,你的源码文件编码应该是GBK。往下看:


两个办法:
A.
保持源代码文件GBK编码不用改。
把vscode设置文件中coderunner设置参数的-fexec-charset=GBK参数去掉。
5.png

以后每次在vscode新建源代码文件后,如果右下角不是gbk,点击它,以gbk编码重新保存(将文件编码改为gbk)。
这时候coderunner运行就编译正常,中文就输出正常。
但是使用vscode的调试功能仍然中文输出乱码,所以对于每个项目,还要将.vscode文件夹内的tasks.json配置文件中增加一条编译命令:-finput-charset=GBK
4.png

这样,连调试功能也能正常输出中文了。
这个是最简单的办法,建议用这个。




B. 保证源代码文件是utf8编码,如果不是utf-8编码,把它重新保存为utf-8。
在coderunner的编译自动命令中增加 -fexec-charset=GBK 命令使编译出的程序以GBK编码输出。(这个就是我在楼下发给你的配置文件的做法,里面的C/C++编译命令有-fexec-charset=GBK参数)
但是使用vscode的调试功能仍然中文输出乱码,对于每个项目,还要将.vscode文件夹内的tasks.json配置文件中增加一条编译命令:-finput-charset=UTF-8,刚好跟上面的A方法相反。
这个这个就比较麻烦,在coderunner的自动编译命令里增加这个参数容易,但是万一如果想手动输入命令编译,手动输入-fexec-charset=GBK就显得又臭又长。



注:乱码的起因是vs code默认新建的源代码是utf8编码,编译出的程序也是输UTF-8编码,而windows的终端默认接受GBK编码。所以要么让程序输出GBK,要么让win终端接受UTF8(linux下就没有这些乱七八糟的问题)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 12:48:01 | 显示全部楼层
hrpzcf 发表于 2021-10-19 12:05
可能是因为你新建的文件编码是GBK,右下角UTF8处点进去重新以GBK编码打开就好了

复制以下设置粘贴到下 ...

感谢楼主的耐心指导,这边的中文乱码问题完美解决,但是新的问题又出来了。。编译好像没问题,但是运行就提示字符集问题,查了下,貌似是要加个什么,但是比对了下网上的说法,该加的都加了。。

3.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 12:05:49 | 显示全部楼层
foxiangzun 发表于 2021-10-19 11:35
话不多说,直接上图

中文乱码

可能是因为你新建的文件编码是GBK,右下角UTF8处点进去重新以GBK编码打开就好了

复制以下设置粘贴到下图所示位置。
"files.autoGuessEncoding": true, // 自动猜测文件编码并打开
    "code-runner.temporaryFileName": "",
    "code-runner.preserveFocus": false,
    "code-runner.runInTerminal": true, // CodeRunner 在内建终端中运行程序
    "code-runner.ignoreSelection": true,
    "code-runner.saveFileBeforeRun": true,
    "code-runner.showRunCommandInEditorContextMenu": false,
    "code-runner.showRunCommandInExplorerContextMenu": false,
    "code-runner.executorMap": {
        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "gcc -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "g++ -fexec-charset=GBK $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python $fileName",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        "lua": "lua",
        "groovy": "groovy",
        "powershell": "powershell -ExecutionPolicy ByPass -File",
        "bat": "cmd /c",
        "shellscript": "bash",
        "fsharp": "fsi",
        "csharp": "scriptcs",
        "vbscript": "cscript //Nologo",
        "typescript": "ts-node",
        "coffeescript": "coffee",
        "scala": "scala",
        "swift": "swift",
        "julia": "julia",
        "crystal": "crystal",
        "ocaml": "ocaml",
        "r": "Rscript",
        "applescript": "osascript",
        "clojure": "lein exec",
        "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
        // "rust": "cargo run $fileName",
        "racket": "racket",
        "scheme": "csi -script",
        "ahk": "autohotkey",
        "autoit": "autoit3",
        "dart": "dart",
        "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        "haskell": "runhaskell",
        "nim": "nim compile --verbosity:0 --hints:off --run",
        "lisp": "sbcl --script",
        "kit": "kitc --run",
        "v": "v run",
        "sass": "sass --style expanded",
        "scss": "scss --style expanded",
        "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
        "FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    },

1.png

2.png

3.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 11:35:14 | 显示全部楼层
本帖最后由 foxiangzun 于 2021-10-19 11:36 编辑
hrpzcf 发表于 2021-10-19 09:40
这个是安装vscode的时候要勾选添加到右键菜单的,是我疏忽了
你重新安装一遍,安装的时候注意 ...


话不多说,直接上图

中文乱码

2.png

程序运行了,控制台却没出来。。

1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 11:22:38 | 显示全部楼层
hrpzcf 发表于 2021-10-19 09:40
这个是安装vscode的时候要勾选添加到右键菜单的,是我疏忽了
你重新安装一遍,安装的时候注意 ...

非常感谢,那我再试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 10:56:52 | 显示全部楼层
回复一下大哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 09:59:52 | 显示全部楼层
多谢分享,一步步学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 09:47:14 | 显示全部楼层
foxiangzun 发表于 2021-10-19 09:34
和教程无关,教程写的很棒了,应该是我操作系统的问题,点右键,没有“VS打开”这一项。。只能说用惯了集 ...

屏幕截图 2021-10-19 094224.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-19 09:40:15 From FishC Mobile | 显示全部楼层
foxiangzun 发表于 2021-10-19 09:34
和教程无关,教程写的很棒了,应该是我操作系统的问题,点右键,没有“VS打开”这一项。。只能说用惯了集 ...

这个是安装vscode的时候要勾选添加到右键菜单的,是我疏忽了
你重新安装一遍,安装的时候注意勾选就行了,不用卸载,直接覆盖安装。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-19 09:34:59 | 显示全部楼层
hrpzcf 发表于 2021-10-18 17:25
有什么问题发出来嘛,也许很容易解决呢,我也可以改进教程里说不明白的地方

和教程无关,教程写的很棒了,应该是我操作系统的问题,点右键,没有“VS打开”这一项。。只能说用惯了集成式的工具,再去用自由式的自己 DIY,就会发现自己是真手残

再次感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-18 20:42:55 | 显示全部楼层
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 01:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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