把notepad++配置成一个能编译C代码的记事本

前言

本博客已经不只一次提过MinGW了,往期关于C语言方面的推文中,示例代码都是用Notepad++来编写,然后用MinGW中的gcc工具来编译。MinGW的配置及使用方法:【C语言笔记】使用notepad++、MinGW来开发C程序。MinGW是是 Minimalist GNU for Windows 的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合。其包含gcc工具,可以使用gcc工具来编译我们的C代码。MinGW 提供了一套完整的开源编译工具集(如gcc等工具),以适合 windows 平台应用开发,且不依赖任何第三方C运行时库。

配置完成之后我们就可以在Windows下的cmd窗口通过命令来编译C代码,如:

或者

使用gcc命令编译默认生成的可执行文件为a.exe,可以加上-o参数把a.exe重新命名成hello.exe或者其它名字。

但这得到命令行下去编译,这会令一些初学者会感觉到头疼。本文要分享的就是如何把Notepad++配置成一个具有编译功能的记事本(前提当然是要装好MinGW)。

Notepad++配置步骤

配置步骤如下:

(1)点击菜单的运行按钮

(2)添加编译操作并配置快捷键

在弹出的运行窗口中输入如下内容并保存:

cmd /k gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"

然后,会弹出快捷键设置窗口:

我们可以给这一条命令所执行的操作进行命名及配置快捷键,这里我们设置编译操作的快捷键为CTRL+F1

注意:我们添加的快捷键不能与Notepad++的其他快捷键重复。

(3)添加运行操作并配置快捷键

与(2)中的操作一样,运行的命令为:

cmd /k "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"

这里我们设置编译操作的快捷键为CTRL+F6

设置完毕之后我们就可以在运行菜单下看到我们刚才添加的快捷键啦:

这时候我们可以点击编译、运行按钮,也可以使用快捷键进行操作。若代码中没有语法错误,则编译结果无输出(也就是编译成功);若代码中有错误,则编译会输出错误提示:

upifFs.png

upihYn.png

温馨提示:每次修改代码之后一定要保存。

编译成功之后,点击我们添加的运行按钮(或按快捷键CTRL+F6)进行运行操作:

upiqw4.png

温馨提示:若编译未通过,不要点击运行按钮。因为你运行的可能是你上一次编译成功的.exe文件。

最后,简单介绍一些这两条命令的意思:

cmd /k gcc "$(FULL_CURRENT_PATH)" -o "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"
cmd /k "$(CURRENT_DIRECTORY)\$(NAME_PART).exe"

其中:

cmd /k:打开cmd窗口并保持打开状态。
$(FULL_CURRENT_PATH) :notepad++的自己的环境变量,表示当前编辑文件的完整路径。
$(CURRENT_DIRECTORY) :表示当前目录
$(NAME_PART) :表示当前编辑文件的名称,不含后缀

最后

此处我们发现,进行了这么多繁杂的配置:MinGW配置、Notepad++配置,才搭好了C语言的编译环境。对于初学C语言的朋友来说,还是建议使用IDE来进行学习。但是,对C语言有了一定的学习了之后,我们可以了解一下命令操作,这对于我们理解编译的一些原理过程,也方便我们日后如果有机会过度到Linux下的学习打一下一些基础。


我的个人博客:https://zhengnianli.github.io/

我的微信公众号:嵌入式大杂烩

我的CSDN博客:https://blog.csdn.net/zhengnianli


 上一篇
【STM32笔记】复用时钟何时开启呢? 【STM32笔记】复用时钟何时开启呢?
STM32的AFIO时钟真的是在开启引脚复用功能的时候开启吗?其实并不是~ 什么是复用?我们知道,STM32有很多外设,这些外设的外部引脚都是与GPIO共用的。我们可以通过软件来配置引脚作为GPIO引脚还是作为外设引脚。当引脚配置为外设引脚
2019-09-26
下一篇 
【STM32笔记】ISP下载的原理是什么? 【STM32笔记】ISP下载的原理是什么?
上一篇笔记分享了STM32的串口IAP实例:STM32串口IAP分享。其中,下载IAP程序时用ISP的方式进行下载。这里的ISP又是什么呢? ISP方式下载程序原理ISP:In System Programing,在系统中编程 在STM32
2019-09-17
  目录