Windows下使用GNU编译器

转载 2015年11月17日 21:00:56

一、环境配置

1.下载MinGW,

地址:http://sourceforge.net/projects/mingw-w64/

2、安装;安装教程可在百度上搜到,记住要安装c++和c的编译器,其他如用不到可不选择安装。

3、设置环境变量

在path变量中,添加MinGW目录下的文件bin的路径,如E:\Program_Files\MinGW\bin

二、编辑源代码(以c++为例,c语言用gcc命令,c++用g++命令;编译器是根据gcc还是g++来确定是按照c标准还是c++标准编译链接的。)

Windows命令行使用GNU编译器

  经过上述两步,就可以在Windows中使用命令行窗口来模拟Linux终端了。

1、新建main.cpp(c++文件)

  通过notepad   main.cpp命令创建并打开编辑main.cpp文件

2.编辑代码


三、编译过程

   编译过程分为四步:预处理、编译、汇编、链接;如下图:


1、预处理

预处理主要处理源文件中的“#include”、“#define”等预处理命令

预处理主要完成的工作有:

(1)删除#define,展开宏;

(2)处理条件编译指令,预处理程序先判断条件,在根据条件修改源代码;

(3)删除注释;

(4)添加行号,以及文件名标识,便于调试

(5)删除“#include”,插入相应的头文件;

使用g++ -E main.cpp -o main.i命令,预处理后得到main.i文件

   

2、编译

生成汇编代码的过程

使用g++ -S main.i -o main.s 命令,编译后得到main.s文件

main.s文件如下:

3、汇编

将汇编代码转化为机器指令。

使用g++ -c main.cpp -o main.o命令,得到目标文件main.o

main.o文件如下图:

4、链接

通过链接库文件,将目标文件转化为可执行文件

使用g++ main.o -o main.exe -L E:\Program_file\Mcrosot_VS\VC\include\iostream 命令,其功能是将.o文件与所需的库文件链接整合形成.exe文件,这就是可执行文件。-L表示链接,这里的路径是我电脑上的microsoft vs中的iostream 文件所在的路径,因为需要与该文件链接。注意:路径文件名不要出现空格!否则找不到文件。

这样就生成可执行文件main.exe。

一般情况下,可以直接使用g++  main.cpp  -o  main 就可以生成可执行程序了。


编译器(GNU & GCC & clang & llvm)

前言: 很多时候,出现一些类似GNU,GCC,CLANG,LLVM等与编译器有关的名词的时候,都不太清楚它到底是干嘛的,理解这些东西后, 对于xcode中很多配置型的需求修改起来都会得心应手,因此有必...
  • itianyi
  • itianyi
  • 2015年01月23日 16:19
  • 17688

Windows下使用GNU编译器

一、环境配置 1.  下载安装MinGW      地址  http://sourceforge.net/projects/mingw/ 2.  设置环境变量            在...
  • JarvisChu
  • JarvisChu
  • 2012年11月06日 19:22
  • 17677

编译器工作原理(GCC C/C++)

源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 #include stdio.h> int main(void) { fp...
  • kai8wei
  • kai8wei
  • 2015年03月31日 09:34
  • 2388

Windows与Linux编译器的区别

转自:http://hi.baidu.com/savagert/blog/item/c7e8318bb39b57d6fd1f10fa.html移植工作开始后的第一步就是在目标平台Linux上进行编译,...
  • ayw_hehe
  • ayw_hehe
  • 2011年01月31日 15:08
  • 1639

windows 下使用g++ 编译器

名词解释:GNU("Gnu's Not Unix"的缩写),一个类UNIX的操作系统,由GNU计划推动,目标在于建立一个完全相容于UNIX的自由软件环境。发展GNU系统的计划,最早由理查德·斯托曼在1...
  • xiaoliuliu2050
  • xiaoliuliu2050
  • 2016年12月01日 14:11
  • 3352

gcc和g++编译器的区别

对于.c文件gcc当做c语言处理,g++当做c++处理;对于.cpp文件gcc和g++均当做c++处理; g++编译时实际上是调用gcc进行编译; gcc不能自动链接库文件,一般用g++来链接库文件,...
  • na_beginning
  • na_beginning
  • 2016年11月20日 00:50
  • 1395

WINDOWS下如何安装GCC

WINDOWS下如何安装GCC? 2013/09/14 JULUREN 第一章 在视窗操作系统下的GCC 第一节 GCC家族概览 GCC 是一个原本用于 Uni...
  • yunxian_19
  • yunxian_19
  • 2015年07月08日 09:42
  • 9262

Windows下使用GNU编译器

分类: C/C++ 程序开发2012-11-06 19:22 3643人阅读 评论(0) 收藏 举报 一、环境配置 1.  下载安装MinGW      地址  http://s...
  • songjunyan
  • songjunyan
  • 2015年01月31日 16:59
  • 465

如何在 windows 平台安装 GNU 环境?

GNU 是一个强大的开源组织,详情请见GNU 官方 mingw & cygwin 的区别: mingw  是完全面向 windows 平台的,cygwin 把 linux 平台的API 做了完...
  • chen_chen__
  • chen_chen__
  • 2015年09月04日 14:19
  • 2210

Ubuntu下gcc安装及使用

在Ubuntu下安装GCC和其他一些Linux系统有点不一样。 一、安装 方法一: sudo apt-get build-dep gcc方法二: sudo apt-get insta...
  • AnneQiQi
  • AnneQiQi
  • 2016年06月21日 10:58
  • 27808
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows下使用GNU编译器
举报原因:
原因补充:

(最多只允许输入30个字)