标题:用EditPlus和Msys2搭个C语言学习环境
只看楼主
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1501
专家分:6573
注 册:2010-7-5
结帖率:91.53%
已结贴  问题点数:1 回复次数:4 
用EditPlus和Msys2搭个C语言学习环境
十几年前学过几天C语言,用的TC2.0,那时候还不懂什么叫跨平台。
本来上初中的时候,代数就没学好,天天跟着书练习一些水仙花数之类的程序,好烦,于是,放弃了。
现在发现C很万能,于是,我要重新学C语言了。
既然学,那先搭个环境吧。

我这辈子,可能是离不开EditPlus了,除非有一天我写出能像EditPlus自动完成代码那样,并且更顺我手的编辑器。

废话不多说,上正文。
一、EditPlus部分
1、1,官网下载,不多说,虽然已经5.1,但我一直在用4.3,对我来说没啥大区别
1、2,汉化,https://
我比较喜欢用这个汉化版,好像这个汉化版的链接,曾经出现在EditPlus官网,但现在找不到了。

二、Msys2部分
2、1,官网下载,安装后,只是一个类似Arch Linux的基础环境,连vim和gcc都没有。在C:\msys64搜索gcc,也没有以.exe为结尾的可执行文件。所以现在还不能和EditPlus配合搭建编译环境。
相关介绍,参照:https://blog.

2、2,设置路径:最好还是设置一下,用起来方便。加入系统的环境变量PATH后,把PATH所有内容复制,使用命令提示符让环境变量PATH直接升效。
set path=(右键粘贴刚才复制的PATH内容)


2、3,安装Vim,gcc等需要的包
开始菜单——MSYS2 64bit(我安装的是64位的)——MSYS2 MSYS,输入:
pacman -S gcc

这时再在C:\msys64搜索gcc,已经有x86_64-pc-msys-gcc-7.3.0.exe和x86_64-pc-msys-gcc.exe这样类似的四、五个可执行文件。并且,如果你的路径设置的正确的话,已经可以在命令提示符中运行它们了。


三、配置编译和运行命令:
新建个如a.c文件,并用EditPlus写一段C语言代码。EditPlus工具菜单——配置自定义工具,
更改组名,如:编译运行C语言
添加工具——程序(我的这个版本叫程序,有的版本叫应用程序),如下图:


注意,我这个组的第一条命令是MingW64的gcc编译,这文章网上一大把。第三条是运行编译后的目标程序,如a.exe。这都没什么好说的。

四、对比:
我用刚才的x86_64-pc-msys-gcc.exe(也是7.3.0-1的版本,只不过少写几个版本号)编译的目标程序是139KB,而MingW64编译的是52.7KB。
原来,MingW64的是8.1的,又找了一些文章,https://jingyan.baidu.com/article/9113f81b6399c12b3214c70e.html
都提到了一个mingw-w64-x86_64-toolchain的包。
安装上,发现多了x86_64-w64-mingw32-gcc.exe等可执行文件。用它编译,52.7KB。

我以为139KB的,也许可以在32位和64位都能运行,拿到32位Win7虚拟机里运行,结果也只不过是体积大了一点而已,还是不能运行的。
所以,结论是如果想编译32位的目标程序,需要安装pacman -S mingw-w64-i686-toolchain。另行编译。

五、pacman更新、查找、列表等命令:
pacman -Sl    用于列出所有可以安装的包
pacman -Sy    刷新软件源,之前要编辑几个文件,加入国内源
pacman -Su    更新所有软件包版本
pacman -Ss gcc  查找带有gcc字样的包
pacman -Su更新后,发现x86_64-pc-msys-gcc.exe是7.4的,x86_64-w64-mingw32-gcc.exe是8.3的,i686-w64-mingw32-gcc是7.4的,
用pacman -Su mingw-w64-i686-toolchain,更新了14个包,结果发现,还是7.4的。。。

六、右键菜单:
文章中提到的,在msys2_shell中,set MSYS2_PATH_TYPE=inherit & set CHERE_INVOKING=1,然后编辑注册表:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\在msys2中打开\command]
@="C:\\msys64\\usr\\bin\\sh.exe --login -i"


七、扩展:
pacman -Sl  列出了好多,像Tcl、Tk、Python等等的包。也包括32位和64位的。所以,这个帖子也很好的解决了我在学习Ruby+Msys2时的配置疑惑。

八、遗憾:
在EditPlus里,不能一组一组的执行命令,我感觉应该不是版本的问题。每次写个小代码,都要Ctrl + 1,再Ctrl + 2,分两次编译和运行看结果。
没有达到理想化。。。希望在学习Java的时候,这个问题能得到解决。。。。
搜索更多相关主题的帖子: EditPlus gcc exe 编译 运行 
2019-03-28 13:00
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1501
专家分:6573
注 册:2010-7-5
得分:0 
安装了mingw-w64-i686-toolchain要添加一些路径的。


搜索的一些相关文章:
https://blog.
https://www.
https://blog.
https://blog.
https://blog.
https://blog.
https://mirrors.tuna.tsinghua.
https://jingyan.baidu.com/article/9113f81b6399c12b3214c70e.html
https://blog.

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2019-03-28 13:19
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:1 
NOTEPAD++ 也不错

DO IT YOURSELF !
2019-03-28 13:44
不懂才问
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:大草原
等 级:贵宾
威 望:29
帖 子:1501
专家分:6573
注 册:2010-7-5
得分:0 
回复 3楼 wp231957
notepad++有自动完成代码功能吗?我没太用过。好像就装过一次,用了几分钟。

自从用了EditPlus,别的编辑器好像都没怎么用过。可能是我一叶障目了。

报告老师,我低头不是因为我在装低调,是你问的问题,我真的不会答,,,
2019-03-28 14:31
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 4楼 不懂才问
那倒是没有 不过它的强大 ,嘿嘿,谁用谁知道

DO IT YOURSELF !
2019-03-29 10:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493834-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016893 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved