搜索
首页开发工具notepad一文了解如何用Notepad++编译C/C++

一文了解如何用Notepad++编译C/C++

一. 前情

平时用的 IDE(集成开发环境)是 Dev-Cpp,因为只是学习阶段,代码还上不了千行,个人认为不需要 VS 那种高大全,VC6.0 又有些地方(不只是审美)不顺眼。

但最近又发现当把 C++ 代码文件复制到 Ubuntu 18.04 编译运行时,汉字部分总会乱码,因为encoding(字符编码)的问题,Ubuntu只认UTF-8,Windows只认ANSI,Ubtuntu虽然我能让VIM显示ANSI,却做不到让终端显示,而Windows 上的 Dev-Cpp 不能设置encoding为 UTF-8,所以想改用 Notepad++ 这个 Editor(编辑器)增加 Compiler (编译器)的功能。

环境:win7。Notepad++。Dev-Cpp。

二. 步骤

1. 配置编译器

官网下载安装MinGW

change:

1565762406(1).png

选中“mingw32-gcc-g++-bin”的“mark for installation”,选择右上角“Installation”的“Apply Changes”即可。另外几项我没安装的时候也没什么问题,后来出了点别的问题,求保险才装的。总共装了不到 400MB。

相关推荐:《Notepad++使用图文教程

2. 编辑环境变量

1565762425(1).png

控制面板\所有控制面板项\系统,高级系统设置→环境变量,在“Administrator 的用户变量”栏找 PATH 变量,无则新建,有则编辑,变量名为“PATH”,变量值在原有的基础上增加一条“C:\MinGW\bin;”,该值与每个人把 MinGW 安装的位置有关,因人而异。“;”的意义在于当 PATH 的值有多项时,用它把这些项分开。

3. 两种方法检查前两步是否成功

1565762437(1).png

进入 cmd 控制台,输入gcc -v或g++ -v查看已加入到环境变量中的编译器版本。显示黄框中的内容属于正常,说明前两步成功。

创建一个简单的 C++ 源代码文件,要保证代码正确能运行。例如 Hello.cpp:

//Hello.cpp
#include<iostream>  
using namespace std;
int main()
{
    cout<<"Hello world, 世界你好!"<<endl;
    return 0;  
}

在 cmd 控制台 cd 到该源代码的目录,然后执行g++ Hello.cpp -o Hello.exe,然后执行Hello.exe /k命令,能正常运行也能说明前两大步没问题。

前一条命令是用 g++ 编译器编译这个源代码并输出 exe 文件到这个目录,后一条是运行 exe 文件(/k 参数使其运行后停留在程序界面,与之相对的 /c 会使其关闭。即 keep 与 close 的对比)。前面两条命令其实可以用“&&”合为一条,即g++ Hello.cpp -o && Hello.exe Hello.exe /k。

到这里已经成功一大半了,因为如你所见,已经可以在 cmd 控制台编译并运行源代码了,而赋予 Notepad++ 这个能力,只是让 Notepad++ 一步“对当前打开的源文件用 cmd 执行编译、运行命令”而已。

4. Notepad++ 增加运行命令

打开 Notepad++,按 F5 调出“运行”。复制后面说到的命令,运行即可,建议保存,名称随意。

1565762452(1).png

也可以在工具栏中找“运行(R)”

参考了多个关于 Notepad++ 运行命令和 cmd 命令的资料,经修改后我的命令是cmd /k pushd "$(CURRENT_DIRECTORY)" && g++ -o "$(NAME_PART).exe" "$(FULL_CURRENT_PATH)" && "$(NAME_PART)".exe & PAUSE & EXIT(无分行,是一整条命令),要理解这条命令的话可以将其一分为六,即:

(1)cmd /k:打开 cmd 控制台,运行完程序让其停留而不自动关闭。

(2)pushd "$(CURRENT_DIRECTORY)":将工作路径更换到源文件所在的路径,例如'pushd E:\kkk'相当于 cmd 中先e:再cd kkk,这条命令在源代码要调用同目录文件而只写了相对路径时尤为重要。因为 Notepad++ 的默认工作路径是它自己的安装路径。

(3)g++ -o "$(NAME_PART).exe" "$(FULL_CURRENT_PATH)":调用环境变量中的编译器 g++.exe 来将源代码编译成同名 exe 文件并输出到相同路径。

(4)"$(NAME_PART)".exe:运行源代码编译出的可执行文件。

(5)PAUSE:暂停,提示“按任意键继续”,配合下一条命令实现“按任意键关闭”的效果,两者都没有的话程序运行完就会秒关。

(6)EXIT:关闭 cmd 控制台,没有的话按任意键会退到 cmd 命令台,等待输入下一条命令。

·$(CURRENT_DIRECTORY)代表文件所在目录的路径。

·$(NAME_PART)表示该文件无后缀部分的文件名。

·$(FULL_CURRENT_PATH)代表当前完整的文件路径。

·双引号(半角):用于防止目录或文件名中含空格的情况。

·“&&”和“&”:前者表示上一条命令正常执行完再执行下一条命令,非正常则不执行下一条;后者无顾虑。例如一分为六后的后两条子命令,表示不管源代码编译、运行是否成功,都会出现“按任意键继续”字样,并且按任意键后关闭 cmd 控制台。

三. 后续

折腾了接近半天后,发现和 Ubuntu 一样,只是让编辑器能显示 UTF-8,却做不到控制台显示。也就是 Notepad++ 能显示 UTF-8/ANSI,但运行后 cmd 控制台还是只认 ANSI。

以上是一文了解如何用Notepad++编译C/C++的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:简书。如有侵权,请联系admin@php.cn删除
记事本的成本:您需要知道什么记事本的成本:您需要知道什么Apr 24, 2025 am 12:06 AM

Notepad 的使用伴随着时间、学习曲线和生产力损失的隐性成本,但可以通过利用插件、定制工作流程和结合其他工具来最大化其优势。使用Notepad 可能需要更多时间手动完成任务,学习其插件系统和定制功能需要时间,简洁性可能导致生产力损失,但通过安装插件如NppFTP、定制快捷键和界面、结合使用GitBash和VisualStudioCode,可以有效提升开发效率。

记事本:免费下载和使用?记事本:免费下载和使用?Apr 23, 2025 am 12:05 AM

Notepad 是完全免费且开源的。1.它基于Windows,由DonHo开发,支持多种编程语言。2.提供语法高亮、代码折叠等功能,轻量且资源消耗低。3.通过宏和插件如NppExec,可以自动化任务和执行外部命令。4.建议定期更新,探索社区资源,并根据需求考虑其他编辑器。

记事本安装过程:详细说明记事本安装过程:详细说明Apr 22, 2025 am 12:03 AM

Notepad 的安装步骤:1.访问官方网站下载最新稳定版本;2.运行安装文件,点击“Next”;3.同意许可协议;4.选择安装路径;5.选择是否创建桌面快捷方式和开始菜单文件夹;6.完成安装并启动Notepad 。

记事本:探索定价和许可记事本:探索定价和许可Apr 21, 2025 am 12:12 AM

Notepad 是免费且开源的,采用GPLv2许可证。1.任何人都可以免费使用和修改Notepad 。2.企业使用时,任何修改或扩展必须以GPLv2发布。3.商业产品使用需遵循GPLv2,包括公开源代码。

记事本:编辑背后的国家记事本:编辑背后的国家Apr 20, 2025 am 12:08 AM

Notepad由Fromfrance,Createbydonho.1)法国的sfocusoneDucation andTechnologyFostersInnovation,ReflectedInnotePad's sdesign.2)Theopen-sourceethoseethoseethoseeThosalignswithfrenswithfrenchventhithventhruesofsharingledge.3)

记事本:了解财务模型记事本:了解财务模型Apr 19, 2025 am 12:11 AM

记事本conversitsitselffinanclythanclythancloughdonations,赞助和apluginecosystem.1)donationsfromusersererspromusersprovideThemainIncome,seepthetTheToolFreeAndFosteringCommunity.2)赞助商shipsorsshipshipshipshipshipsfromcompaniesofferostableferableforableforperablecomeincomeMaintainingInperceenterce.3)a a a a a a)

访问记事本:探索免费选项访问记事本:探索免费选项Apr 18, 2025 am 12:07 AM

Notepad 的免费替代品包括VisualStudioCode、SublimeText和Atom。 1.VisualStudioCode支持多种语言并通过扩展增强功能。 2.SublimeText提供评估版,速度快且界面简洁。 3.Atom以高度可定制性着称,适合个性化需求。

记事本:检查自由和开源性质记事本:检查自由和开源性质Apr 17, 2025 am 12:07 AM

Notepad 是免费且开源的文本编辑器。1)免费使用降低了进入门槛,2)开源特性通过GPLv2许可证实现,允许查看、修改和分发源码,促进社区参与和软件进化。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中