操作系统是windows7,安装有Visual Studio C++ 2010 Express版。当然按道理来说也可以选择g++。
本操作无需任何notepad++的外部插件
1. 先写一段最简单的helloworld,保存成.cpp文件
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
return 0;
}
2. 直接在运行(Run)菜单下运行(Run),或者单击F5
3. 这里先输入编译的命令,在弹出窗口中输入以下内容
cmd /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 && cd $(CURRENT_DIRECTORY) && cl /EHsc $(FULL_CURRENT_PATH) && exit
这里需要解释一下,Visual Studio都会有一个命令行的模式,在开始菜单下找到Microsoft Visual Studio 2010 Express目录即可看到。
这个命令行模式本质上也是启动windows的命令提示符,但与此同时也启动了一个脚本,使得命令行可以使用VS编译调试C++程序的命令(如cl命令,单纯启动命令提示符是无法使用该命令的)。右键单击Visual Studio 命令提示(2010),选择属性,在快捷方式选项卡下的目标中就是启动命令,如下:
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86
%comspec%是一个环境变量,指向当前命令提示符,/k参数是指执行后面的命令,后面这个命令即是启动一个有关VC的脚本。这时我们可以想到在启动命令提示符的同时,只要运行这个脚本就能有命令行形式下C++的编译环境了。
于是,再回到开始输入的内容,完整的解释一下这条命令,cmd是打开命令提示符,/k参数指接着会执行后面的内容,这里一连串要执行了四个命令,均用&&连接起来:
第一个命令就是启动有关VC的脚本;
第二个命令是cd到cpp文件所在目录之下,$(CURRENT_DIRECTORY)在notepad++中代表文件所在目录的路径。这里执行该命令主要是为了方便起见,否则会有很多的路径问题;
第三个命令是编译命令,cl是VS的编译链接命令,意思是compile and link,如果运行成功会生成obj和exe文件。$(FULL_CURRENT_PATH)在notepad++中代表当前完整的文件路径,这里即表示之前保存的cpp文件;
最后一个命令是退出,即表示在编译成功的条件下窗口会自动关闭。
4. 先运行,在编译完成之后窗口应该会自动关闭,保存该命令,选择快捷键;
5. 再次F5运行,这回输入运行命令
cmd /k $(CURRENT_DIRECTORY)\$(NAME_PART).exe
这里的命令其实很简单,只是运行刚刚生成的exe文件。$(CURRENT_DIRECTORY)在notepad++中代表文件所在目录的路径,$(NAME_PART)表示该cpp文件无后缀部分的文件名,因为之前编译的时候并没有指定输出文件的文件名,所以默认情况下生成的obj和exe文件均以cpp的文件名来命名。
6. 同样,先运行,看看能否得到正确的输出结果,然后保存命令,选择快捷键,重启notepad++后即告完成。