您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

怎么用notepad编译c语言

2025/12/7 13:23:58发布68次查看
一. 前情
平时用的 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。
推荐教程:notepad使用教程
二. 步骤
1. 配置编译器
官网下载安装mingw
change:
选中“mingw32-gcc-g++-bin”的“mark for installation”,选择右上角“installation”的“apply changes”即可。另外几项我没安装的时候也没什么问题,后来出了点别的问题,求保险才装的。总共装了不到 400mb。
相关推荐:《notepad++使用图文教程》
2. 编辑环境变量
控制面板\所有控制面板项\系统,高级系统设置→环境变量,在“administrator 的用户变量”栏找 path 变量,无则新建,有则编辑,变量名为“path”,变量值在原有的基础上增加一条“c:\mingw\bin;”,该值与每个人把 mingw 安装的位置有关,因人而异。“;”的意义在于当 path 的值有多项时,用它把这些项分开。
3. 两种方法检查前两步是否成功
进入 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 调出“运行”。复制后面说到的命令,运行即可,建议保存,名称随意。
也可以在工具栏中找“运行(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 控制台。
以上就是怎么用notepad编译c语言的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product