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年 ...
随机推荐
- sql 查询所有作业的详情
DECLARE @WeekDays TABLE ( freq_interval INT, weekdays ) ) INSERT INTO @WeekDays ,N'星期日 ' UNION ALL , ...
- leetcode 1——两数之和
问题描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组 ...
- pkuwc2019游记
填坑 为了打击胡吹瞎吹恶势力 具体考试情况略了 题解 Day1 D1T1 100分 状压dp 考虑用点的存在状态转移边的情况的思想 D1T2 100分 虚树+ntt 假设在最下方的斯坦纳树上统计答案, ...
- Java集合中的细节
integer数据对比 对于Integer var = ? 在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值 ...
- 解决ping不通win7主机
之前在路由器上ping笔记本发现ping不通,但是笔记本ping路由器通,也没多想.今天想起来可能是win7的防火墙作怪,以前上课虚拟机好像也是ping不通宿主机,但是宿主机能ping通虚拟机. 简单 ...
- Oracle 12c 单实例安装
准备工作 实验环境:Redhat 6.6 Oracle 12c 12.2.0.1 1.官网下载 https://www.oracle.com/technetwork/database/enterp ...
- 认识LDAP协议
LDAP LDAP是Lightweight Directory Access Protocol的缩写,顾名思义,它是指轻量级目录访问协议(这个主要是相对另一目录访问协议X.500而言的:LDAP略去了 ...
- 查看selenium API
pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的.也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现! 一.pydoc 1.到底什么是 ...
- P4081 [USACO17DEC]Standing Out from the Herd
思路 对所有串建立广义SAM,之后记录SZ,统计本质不同子串时只统计SZ=1的即可 代码 #include <cstdio> #include <algorithm> #inc ...
- 为 pip install 设置 socks5 代理
参考 How to use pip with socks proxy? 为 pip install 设置 socks5 代理 设置方法: pip install pysocks pip install ...