0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-04 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

MinGW是 Minimalist GNU for Windows 的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合。其包含gcc工具,可以使用gcc工具来编译我们的C代码。

MinGW 提供了一套完整的开源编译工具集(如gcc等工具),以适合 windows 平台应用开发,且不依赖任何第三方C运行时库。

MinGW的配置及使用方法:《使用Notepad++来开发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。

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

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

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

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

温馨提示:若编译未通过,不要点击运行按钮。因为你运行的可能是你上一次编译成功的.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下的学习打一下一些基础。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74388
  • 编辑
    +关注

    关注

    0

    文章

    28

    浏览量

    11852
  • Notepad
    +关注

    关注

    0

    文章

    12

    浏览量

    6858
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    rk3576 android15平台camera编译配置都做了什么?

    该文件是瑞芯微(Rockchip)Android平台下相机子系统的核心编译配置Makefile,属于Android Build System的关键组成部分,作用是根据编译环境的动态条件(SDK版本
    的头像 发表于 03-06 17:15 3168次阅读
    rk3576 android15平台camera<b class='flag-5'>编译</b><b class='flag-5'>配置</b>都做了什么?

    简单高效的鸿蒙编译提速技巧

    在鸿蒙应用开发中编译构建是开发者最频繁的操作,每编译提速都能显著提升项目整体开发效率。本次分享几个简单却高效的鸿蒙编译提速技巧,从编译
    的头像 发表于 03-04 16:09 258次阅读
    简单高效的鸿蒙<b class='flag-5'>编译</b>提速技巧

    c语言中的代码优化

    ) 尽量使用常量(const)。C++ 标准规定,若是const声明的对象的地址不被获取,容许编译器不对它分配储存空间。这样可使代码
    发表于 01-12 09:45

    ESP32 编译过程中 bootloader 配置阶段的 CMake 缓存冲突错误,记录

    你遇到的是 ESP32 编译过程中 bootloader 配置阶段的 CMake 缓存冲突错误,核心原因是系统中混合了 ESP-IDF v5.5.1 和 v5.4.3 两版本的路径,导致
    发表于 12-23 07:07

    C/C++条件编译

    条件编译种在编译时根据条件选择性地包含或排除部分代码的处理方法。在 C/C++ 中,条件
    发表于 12-05 06:21

    别再迷糊了!Linux交叉编译到底是啥?文讲清楚

    很多工程师第次听到“交叉编译”这4字时,脑袋里往往会冒出两个字: 抽象 。 明明写代码写得好好的,为啥还要搞
    的头像 发表于 12-03 16:28 1320次阅读
    别再迷糊了!Linux交叉<b class='flag-5'>编译</b>到底是<b class='flag-5'>个</b>啥?<b class='flag-5'>一</b>文讲清楚

    Linux 下交叉编译实战:跑起来你的第一个 STM32 程序

    很多开发者第次接触STM32,总会被“交叉编译”、“烧录程序”等概念绕晕。其实方法很简单:在Linux下配置交叉编译环境,编写简单程序,然后烧录到STM32,就可以看到成果了。本文带
    的头像 发表于 11-24 19:04 1072次阅读
    Linux 下交叉<b class='flag-5'>编译</b>实战:跑起来你的第<b class='flag-5'>一个</b> STM32 程序

    求助,关于C代码中的printf打印的疑问求解

    在使用E203 testbench执行附带的benchmark测试用例时候,得到如下打印信息: CPU验证小白枚,有问题不是很理解:黄色框框内的字符看起来应该是C代码中的p
    发表于 11-10 07:54

    创建Library工程

    创建Library工程 首先选中 File -&gt; New -&gt; C/C++ Project,在弹出的框中,选择Static Library
    发表于 10-20 09:30

    rtsmart开启C++特性支持后,工具链编译内核不通过怎么解决?

    各位大佬好,本人在rtsmart项目中需要使用C++11特性,在menuconfig那里配置了支持C++特性后,使用7.3.0版的arm-linux-musleabi
    发表于 09-29 07:49

    代码 + 零成本:物联网低代码平台,让普通人玩转 “万物互联”

    如今,免编程、零成本的IoT物联网平台正在打破技术壁垒,让普通用户无需代码基础,就能通过拖拽、配置等简单操作搭建场景化应用。这种“平民化”的技术赋,不仅降低了物联网的使用门槛,更催生
    的头像 发表于 08-08 17:43 738次阅读

    代码开发云平台是什么?零编程零成本搭建

    联网云平台作为连接物理设备与数字世界的核心枢纽,其功能设计围绕设备管理、数据流转、应用开发、业务赋四大维度展开。 、核心能力 低代码/零代码:通过可视化拖拽组件、预置模板、图形化逻
    的头像 发表于 07-31 15:25 876次阅读

    零知开源——STM32F4实现ILI9486显示屏UI界面系列教程(三):记事本功能实现

    实现ILI9486显示屏UI界面系列教程():电子书阅读器功能[/url] ILI9486扩展板显示屏及记事本UI页面图: 二、软件UI组件实现 2.1 核心功能实现 lv_obj_t
    发表于 06-27 09:51

    零知开源——STM32F4实现ILI9486显示屏UI界面系列教程(二):日历功能实现

    。文章提供了完整的代码示例,涉及数据结构、触摸交互和界面初始化,并给出常见问题解决方案。教程还提出扩展建议如事件提醒和农历支持,最后预告后续将开发记事本功能。该项目展示了嵌入式UI开发的完整流程,具有响应快(切换<80ms)、内存占用低(38KB)等特点。
    的头像 发表于 06-25 17:34 859次阅读
    零知开源——STM32F4实现ILI9486显示屏UI界面系列教程(二):日历功能实现

    【道生物联TKB-620开发板试用】TK8620 开发平台软件移植——HAL库配置

    ,定时器3设置1秒中断定时。如下图所示 图4:定时器3的配置 三、代码生成及运行 代码配置为每个接口单独初始化为
    发表于 04-30 00:47