Notepad++编译和运行C语言 (GCC)
我们在学习C语言的时候,实际上只需要编译器和编辑器就能开搞了。(初学者过早接触IDE不利于理解程序构建的过程)
在看这篇文章的时候,假设你已经知道如何把GCC配置到环境变量,并且会在命令行/终端下使用gcc 编译C代码文件 并运行了。
关于notepad++
notepad++是款windows下优秀的编辑器。在windows环境下,装了notepad++和gcc就能愉快地开始C语言学习之旅了。
这里当然再废话一下,系统自带的notepad记事本当然也可以写C语言,不过因为记事本不带语法高亮以及行号显示,写个hello word自然是没有问题,但是等以后稍微写长一点的代码就会显得有些太不方便了。
我们还是说notepad++ 和gcc的环境下,我们写好了一个C语言代码,如下图:

写完代码以后,我们直接手动在windows命令提示符界面手动输入gcc命令编译自然是最原始的做法。等初学者这样手动编译了大约64个C语言文件以后,大概已经开始觉得每次都要gcc -o hello hello.c 未免有些无聊了。
程序员以重复劳动为耻。
所以我们继续,按照上图的菜单配置,我们打开菜单中的 运行,然后再弹出的窗口中,输入运行程序名,我们输入以下命令
cmd /k gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" &PAUSE &"$(CURRENT_DIRECTORY)\$(NAME_PART).exe" & PAUSE & EXIT
然后点击保存,再弹出的快捷键设置窗口中填写一个名称“GCC编译运行”,快捷键我选了F9
然后我们点运行,就会自动执行输入的那一段命令,简单说明一下命令的内容:
$(FULL_CURRENT_PATH) 是notepad++的自己的环境变量,表示当前编辑文件的完整路径。
$(CURRENT_DIRECTORY) 表示当前目录
$(NAME_PART) 表示当前编辑文件的名称,不含后缀
PAUSE 是cmd下等待任意键的提示
这命令的意思就是编译当前文件,输出并运行。
运行结果如下图:

结果出现了中文乱码。这时候我们需要设置一下字符编码转换,如下图:

选择 | 编码 | 转为 ANSI编码,此时右下角UTF-8会变成ANSI,然后我们保存,再按F9一键编译运行。
如下图

中文顺利地输出了。
然后你就以为大功告成了?把notepad++关了再打开看看。

什么鬼!我们美丽的汉字怎么变成这个样子了。右下角字符被自动变成 ISO 8859-7了。经过你一番努力尝试,在编码菜单中每个编码都试一下你还是没办法让美丽的汉字显示出来。
不要着急,我们用记事本打开这个文件中文还是可以正常显示的。
什么,你问我这个有什么解决方案?
我告诉你……要不咱们学习C语言的时候就不要printf 输出中文了,还是写英文吧,这样不用切换输入法也挺好是吧。我们写中文的注释是完全可以的,这样在notepad++的UTF-8编码的环境下关闭再打开是没问题的。
所以就是说无解咯。
如果你是notepad++编码方面的老司机有解决方案欢迎留言。
Notepad++编译和运行C语言 (GCC)的更多相关文章
- Notepad++编译和运行Java
首先要让Notepad++编译和运行Java,前提是电脑里已经配置好了Java的环境(这里可以参考我博客里关于Java环境配置的那篇随笔). 在Notepad++上面的选项栏中找到 插件---> ...
- notepad++编译并运行java (自定义包)
最近用Notepad++写汇编,感觉用起来挺顺手,于是想能不能也在这个优秀的编辑器下编写java并编译运行呢,因为每次启动eclipse都要挺长时间,而且eclipse实在太占内存了... 于是各种百 ...
- Ubuntu下怎么编译并运行C、C++和Pascal语言?
很多同学在安装了Ubuntu的环境后,发现在Windows下的许多东西都打不开了,但是用网站上的在线IDE又不是很方便. 所以,ljn教你如何在Ubuntu下编译并运行C.C++和Pascal. 一. ...
- Notepad++如何编译、运行Java
首先要让Notepad++编译和运行Java,前提是电脑里已经配置好了Java的环境(这里可以参考我博客里关于Java环境配置的那篇随笔). 在Notepad++上面的选项栏中找到 插件---> ...
- Notepad++-第一篇命令行语句执行之编译、运行Java
1.让Notepad++编译和运行Java,在电脑上要已经配置好了Java的开发环境 2.在Notepad++上面的选项栏中找到 Plugins--->Plugin Admin 3.在Avail ...
- 使用Notepad++编译运行C/C++/Python程序
对我来说,比较常用的是C/C++/Python. 使用Notepad++编译运行单个源文件的C/C++/Python,比使用复杂的IDE更加快捷. 想要让Notepad++能够做到编译运行C/C++/ ...
- Sublime Text 3 实现C语言代码的编译和运行
Sublime Text 3 是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的C语言代码,这就需要在新建编译系统.具体方法如下: 首先: 接下来是关键的一步 ...
- WebAssembly,可以作为任何编程语言的编译目标,使应用程序可以运行在浏览器或其它代理中——浏览器里运行其他语言的程序?
Mozilla.谷歌.微软和苹果已经决定开发一种面向Web的二进制格式.该格式名为WebAssembly,可以作为任何编程语言的编译目标,使应用程序可以运行在浏览器或其它代理中. 几年前,我们在Inf ...
- 关于JAVA,特点,历史,编译式的语言&解释式的语言,什么是java?JDK?DOS?一次编译到处运行原理。
1.java语言的特点: 简单的:面向对象的:跨平台(操作系统)的(一次编译,到处运行):高性能的: 2.类名的首字母大写,方法小写: 3.历史: java2(即java),为什么加个2呢?1998年 ...
随机推荐
- PAT (Basic Level) Practice (中文)1023 组个最小数
1023 组个最小数 给定数字 0-9 各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意 0 不能做首位).例如:给定两个 0,两个 1,三个 5,一个 8 ...
- R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD, R-FCN系列深度学习检测方法梳理
1. R-CNN:Rich feature hierarchies for accurate object detection and semantic segmentation 技术路线:selec ...
- Unity3d中角色模型和角色名字保持相对位置
3D游戏中,经常遇到这样的情况.角色模型上需要显示角色名字或者血条等信息. 如果用一个摄像机会有可能出现名字或血条显示不正常等问题,所以我采用两个摄像机.一个渲染名字或血条等UI,另一个渲染角色模型. ...
- Vue 服务端渲染(SSR)
什么是服务端渲染? 简单理解是将组件或页面通过服务器生成html字符串,再发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序. 服务端渲染的优点 更好的SEO,搜索引 ...
- Delphi中PointerMath指令
Type Switch Syntax {$POINTERMATH ON} or {$POINTERMATH OFF} Default {$POINTERMATH OFF} Sc ...
- Angular4 websocket通讯
- datatable的select()结果直接修改,会体现在表上
如果你只是要修改DataTable里的DataRow的话没有必要找到它的行号,直接在Select后得到的DataRow上修改就行了,它的修改会直接反映到DataTable上(其实就是直接修改了Data ...
- CentOS 7Google浏览器
CentOS 7安装并启动Google浏览器(★firecat亲测有效★) 2018年09月23日 12:42:47 libaineu2004 阅读数:3088 版权声明:本文为博主原创文章,未 ...
- Python中自定义filter用法
django中新建项目,在项目中新建app,自定义filter一般放到app中.结构目录如下: 1.先在APP中新建一个templatetags的django文件夹,文件夹中新建一个filter的py ...
- 《一些神奇的JS功效》
1: async 异步回调 (ES6) async function test(){ console.log("hello wolrd"); } test().then(funct ...