您的位置:首页 > 编程语言 > C语言/C++

Notepad++搭配MinGW编译运行C,C++程序

2013-10-17 22:40 288 查看
Notepad++ 搭配MinGW编译运行C,C++程序
1:安装好 MinGW GCC 编译器后 , 当然 MinGW 全安装最保险了,不会太费劲
2:安装 Notepad++ 这个不用说了
3:配置环境变量(注:可能需要重启后生效)
计算机 --> 属性 --> 高级系统设置 --> 环境变量 --> 系统: path 中添加 C:\MinGW\bin;
当然 MinGW 是安在 C 盘下,按不同路径修改
4:打开 Notepad++ ,编写一段 C++ 代码并保存
例如:
#include <iostream>
using namespace std;

int main(){
int a, b;
cout<<"Input:"<<endl;
while(cin>>a>>b){
cout<<a+b<<endl;
}
return 0;
}
5:菜单栏 -- 》运行 -- 》运行,弹出框中输入:(注意如果是 C 语言则是gcc)
cmd /k g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
选择快捷键后保存为: G++ 编译,注意快捷键不要有重复,在点击弹出框的运行, Ok ,关闭 Notepad ,再打开 Notepad++ ;

6:菜单栏 -- 》运行 -- 》运行,弹出框中输入:

cmd /k "$(CURRENT_DIRECTORY)\$(NAME_PART)" & PAUSE & EXIT
同理保存名称换为为: G++ 运行,再点运行程序就会执行了

7.合并编译和运行:

cmd /k g++ -o $(CURRENT_DIRECTORY)\$(NAME_PART).exe "$(FULL_CURRENT_PATH)" &cmd /k "$(CURRENT_DIRECTORY)\$(NAME_PART)" & PAUSE & EXIT
同理保存名称换为为: G++ 编译和运行,再点运行程序就会编译并执行了。

--------------------------------------------------------------------------------

MinGW安装与使用简介

(1): 到这里下载MinGW,网速慢的话可能打不开,是个外国网站(上面的网站镜像可能出了点问题,有的东西下载下来却不能用,等我有空我会给大家提供下载)。

(2) :双击安装包,一切按默认设置,一路的“下一步”以后就能搞定。

(3):环境变量可能会在安装过程中自动设置好,在cmd中输入gcc测试一下,假如显示 gcc: no input file ,则安装已成功。否则,自己把c:/mingw/bin的目录手动加到环境变量中,方法如下:

1.右键“我的电脑”==>属性==>“高级”==>“环境变量”

2.在用户变量中,假如有path变量,就选择“编辑”,在原先值后面加个分号,在把MinGW的bin目录加上就好了。假如没有path就自己“新建”一个,再把MinGW的bin目录加上。

3.测试方法同上,over。

用法:
使用MinGW进行编译和创建(应有程序)
怎样创建一个终端应用程序
这里有一个例子。下面是一个简单的c语言程序的代码示例,请把它剪切并粘贴到一个叫作hello.c的文件中试试看:
#include <stdio.h>
int main(int argc, char **argv)
{
printf ("Hellon");
return (0);
}
假如你想从hello.c生成一个在终端模式下的可执行文件hello.exe.试一下下面的方法:
gcc -c hello.c

这个命令把hello.c编译成一个目标文件hello.o,然后用下面的方法:
gcc -o hello hello.o

这个命令从hello.o文件生成一个可执行的hello.exe文件。事实上,作为一种选择,你可以使用下面的命令把编译和链接放到一步中完成:
gcc -o hello hello.c

下面是一个简单的c++程序的代码示例,复制并粘贴到一个叫hello.cpp的文件中试试看:
#include <iostream>
int main(int argc, char **argv)
{
std::cout << "Hello" << std::endl;
return (0);
}

对于c++程序来说,使用下面的命令来编译和链接:
g++ -c hello.cpp
g++ -o hello hello.o
(同样你可以把他们合并到一步中完成)

2.如何创建windows应用程序
这里有一个例子。下面是一个简单的windows应用程序的代码示例,请把它复制并粘贴到一个叫作hello.c的文件中试试看 :
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
return (0);
}

假如你想从一个叫hello.c的c语言源文件创建一个从窗体执行的(Windows executable)hello.exe,请试用下列命令:

gcc -c hello.c

首先产生了目标文件hello.o,然后用:

gcc -o hello hello.o -mwindows

这会从hello.o创建一个可执行的hello.exe, -mwindows用来说明要创建的是Windows应用程序而非从终端执行的程序,它确保正确的Windows库被链接。

要同时得到一个终端屏幕和标准的Windows应用程序,在

-mwindows标志后面增加一个-mconsole标志(flag)

假如你有新的资源(一个后缀名为.rc的文件)也要添加到你的程序中,你需要编译这些资源文件(resource file)和别的一些资源文件,并且在链接时包含进这些编译过的资源文件以创建你的程序,下面的例子将告诉你怎样编译和链接一个叫做resfile.rc的资源文件:

windres -o resfile.o resfile.rc
gcc -o hello hello.o resfile.o -mwindows

3.怎样创建dll文件?

这里有个例子。把下面的代码复制并粘贴到一个叫dllfct.h的文件中:

#ifdef BUILD_DLL

// the dll exports
#define EXPORT __declspec(dllexport)
#else

// the exe imports
#define EXPORT __declspec(dllimport)
#endif

// function to be imported/exported
EXPORT void tstfunc (void);

把下面的代码复制并粘贴到一个叫dllfct.c的文件中:

#include <stdio.h>
#include "dllfct.h"

EXPORT void tstfunc (void)
{

printf ("Hellon");

}

把下面的代码复制并粘贴到一个叫hello.c的文件中:
#include "dllfct.h"
int main ()
{
tstfunc ();
return (0);
}

为了创建一个dll和一个使用他的程序,试试下面的命令:
gcc -c hello.c
gcc -c -DBUILD_DLL dllfct.c gcc -shared -o tst.dll -Wl,--out-implib,libtstdll.a dllfct.o
gcc -o hello.exe hello.o -L./ -ltstdll

------------------------------------------------------------------

Notepad++有自己的环境变量

变量名称

含义

FULL_CURRENT_PATH

文件路径名称

CURRENT_DIRECTORY

文件目录

FILE_NAME

文件全名称

NAME_PART

文件名称

EXT_PART

文件扩展名

通过这些变量,我们可以自定义很多东西

----------------------------------------------------------------------------------

注: 插件
下面为大家推荐几个有用的插件
Nppexport
这是notepad++默认安装的插件,通过这款插件,我们可以方便的导出着色以后的代码,这样即使在word里,我们也可以方便的粘贴上着色后的代码
Explorer
这款插件需要用户自己安装,通过这款插件,我们可以在notepad++中启用资源浏览器功能,如下图所示

TextFX
这款插件可以很方便的定义括号自动补全等功能
其他还有functionlist ,jsonview等等方便我们分析代码的插件,这里不逐一例举。
总之,notepad++是一款非常轻巧,但功能却十分强大的编辑器,在配置好之后,我们完全可以放弃其他任何IDE。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: