devc++的兼容问题
近两天写c程序使用devc++做调试,出现了了兼容问题,出现如下对话框
可能的三种原因:
- 编译器软件出了问题
- 系统升级造成的
- 安装其他软件造成的冲突。
解决过程:
- 首先我怀疑的是编译器出了问题,开始下载了code::block,结果同样报错,排除了编译器的原因。
- 接着回退了win10的最近更新,仍旧没有解决;
- 最后在知乎,和其他社区收集资料之后发现可能是腾讯手游模拟器引起的——遂卸载手游模拟器,重启系统,终于解决了这个问题。
现软件现在已经可用了。具体底层原因我也不了解,等之后学有所成再去想吧,在卸载腾讯手游模拟器时它问我,为什么要卸载它,我看了看选项,没有我这种情况。我只能在自己心中默默的回答:我爱你,但是我们现在不能在一起。
关于devc++中文乱码的问题
因为之前用sublime写小说的缘故,个人偏爱使用sublime编辑文本;加上sublime的代码补全功能和图形界面比较友好,所以用sublime去写c程序,然后用devc++进行编译运行。
在使用的过程中,发现sublime编写好的源码在devc++中打开时,出现了乱码的问题。这个本质是编解码过程了问题。
问题原因分析:在devc++的英文版本的情况下,软件默认的编解码用的是ASCII码表,而sublime默认的编码是utf - 8码表。出现问题的原因找到了,就是我们用utf -8编码而用ASCII解码,这当然是行不通的。
解决问题的关键在于文件的编码和解码是用的同一个码表,同时这个码表需要支持中文字符。
新的问题来了:ASCII码表做不到编码中文字符,而devc++有不支持utf -8编码。
但是收集信息得到,devc++是有中文版本的,一般软件有中文版本那么意味着它一般会支持一种叫GBK的编解码方式。同时sublime可以把文件用不同的编码方式保存——例如GBK?
在这里我们就把sublime文件的编码方式设置为GBK,同时把devc++的语言设置为中文,这样编码和解码格式就统一为了GBK码表。乱码问题就解决了。
具体操作如下:
- 将要编译的源文件用sublime打开,在菜单栏 点击文件下拉菜单,然后看到一个选项“seting file encoding to”点击它,看到一个“chinese simplified(GBK)”点击,这样编码模式就成为了GBK。
- devc++中,在菜单栏中打开“tools”下面有一个选项叫“environment options”,点开,然后在语言那一栏目里面勾选简体中文,最后点击确认。这样devc++的编解码表就变成了GBK表。
问题解决!