我们在学习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)的更多相关文章

  1. Notepad++编译和运行Java

    首先要让Notepad++编译和运行Java,前提是电脑里已经配置好了Java的环境(这里可以参考我博客里关于Java环境配置的那篇随笔). 在Notepad++上面的选项栏中找到 插件---> ...

  2. notepad++编译并运行java (自定义包)

    最近用Notepad++写汇编,感觉用起来挺顺手,于是想能不能也在这个优秀的编辑器下编写java并编译运行呢,因为每次启动eclipse都要挺长时间,而且eclipse实在太占内存了... 于是各种百 ...

  3. Ubuntu下怎么编译并运行C、C++和Pascal语言?

    很多同学在安装了Ubuntu的环境后,发现在Windows下的许多东西都打不开了,但是用网站上的在线IDE又不是很方便. 所以,ljn教你如何在Ubuntu下编译并运行C.C++和Pascal. 一. ...

  4. Notepad++如何编译、运行Java

    首先要让Notepad++编译和运行Java,前提是电脑里已经配置好了Java的环境(这里可以参考我博客里关于Java环境配置的那篇随笔). 在Notepad++上面的选项栏中找到 插件---> ...

  5. Notepad++-第一篇命令行语句执行之编译、运行Java

    1.让Notepad++编译和运行Java,在电脑上要已经配置好了Java的开发环境 2.在Notepad++上面的选项栏中找到 Plugins--->Plugin Admin 3.在Avail ...

  6. 使用Notepad++编译运行C/C++/Python程序

    对我来说,比较常用的是C/C++/Python. 使用Notepad++编译运行单个源文件的C/C++/Python,比使用复杂的IDE更加快捷. 想要让Notepad++能够做到编译运行C/C++/ ...

  7. Sublime Text 3 实现C语言代码的编译和运行

    Sublime Text 3 是一款优秀的代码编辑软件.界面简洁,轻巧快速,很受大家的欢迎. 最近开始用他来编辑数据结构的C语言代码,这就需要在新建编译系统.具体方法如下: 首先: 接下来是关键的一步 ...

  8. WebAssembly,可以作为任何编程语言的编译目标,使应用程序可以运行在浏览器或其它代理中——浏览器里运行其他语言的程序?

    Mozilla.谷歌.微软和苹果已经决定开发一种面向Web的二进制格式.该格式名为WebAssembly,可以作为任何编程语言的编译目标,使应用程序可以运行在浏览器或其它代理中. 几年前,我们在Inf ...

  9. 关于JAVA,特点,历史,编译式的语言&解释式的语言,什么是java?JDK?DOS?一次编译到处运行原理。

    1.java语言的特点: 简单的:面向对象的:跨平台(操作系统)的(一次编译,到处运行):高性能的: 2.类名的首字母大写,方法小写: 3.历史: java2(即java),为什么加个2呢?1998年 ...

随机推荐

  1. centos7 安装oracle 11g数据库

    1.新建oracle用户 groupadd oracle useradd -g oracle oracle .修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改 ...

  2. Vue系列之 => MintUI初使用

    安装 npm i mint-ui -S main.js import Vue from 'vue' // 1,导入 vue-router包 import vueRouter from 'vue-rou ...

  3. spring boot + vue + element-ui全栈开发入门——spring boot后端开发

    前言 本文讲解作为后端的spring boot项目开发流程,如果您还不会配置spring boot环境,就请点击<玩转spring boot——快速开始>,如果您对spring boot还 ...

  4. cookie,localStorage和sessionStorage的区别

    cookie已经很久没有用过了,一直觉得session Storage和local Storage更加好用一些.

  5. maven 安装m2e 报错

    Eclipse安装maven插件m2e m2e - http://m2eclipse.sonatype.org/sites/m2e m2e-extras - http://m2eclipse.sona ...

  6. php 防跨站表单提交

    一种最优方式防跨站表单提交,用户限时token 就是生成一个随机且变换频繁加密字符串(可逆和不可逆).放在表单中,等到表单提交后检查. 这个随机字符串如果和当前用户身份相关联的话,那么攻击者伪造请求会 ...

  7. [转载]ISO 8601规则

    1.每年有52周或者53周2.周一至周日为一个完整周.3.每周的周一是该周的第1天.周日是该周的第7天4.每年的第一周 为 每年的第一个周四所在的周.比如 2017年1月5日为当年的第一个周四,那么 ...

  8. vue父组件给子组件传值:属性的形式

    1.父组件怎么传值 2.子组件怎么接受值:依赖props 父页面定义的参数接收返回值,到子组件依旧用定义好的参数,在定义参数的类型,然后渲染数据

  9. 安卓加载网络图片OOM问题解决

    前言:次片是上篇后续出现的问题,在网上找了很多博客,越解决越乱,好在最后看了郭霖的博客给了我一点思路 借鉴:http://blog.csdn.net/guolin_blog/article/detai ...

  10. uirecorder 启动webdriver服务报错

    在安装好uirecorder后,执行起来是各种错误. 不是少这个就是缺那个,也是因为自己对自动化测试知识太匮乏. 导致刚开始走自动化测试绕了很多弯路,报个错都不知所措.后来才知道要多看ERROR后面的 ...