gcc安装教程(windows版本)

—最好的C/C++编译器,没有之一

windows下的gcc有两个版本mingw和cygwin,二选一就好

已学会C++,做工程,建议用mingw

用cygwin编译后的二进制码在别人机器上用不了,因为其他人的机器没有cygwin1.dll(安装cygwin的时候会安装,提供POSIX api和windows api之间的函数转换)

学习C++,建议用cygwin

cygwin完整模拟了linux的运行环境,包括终端、bash、gcc、gdb、make等等,是一套完整的解决方案(mingw还需要自己配置最小linux环境,msys)

安装mingw

注意!安装mingw必须搭配msys(如果安装cygwin,则不需要),推荐mingw64+msys1

mingw(32位)

http://sourceforge.net/projects/mingw/files/latest/download?source=files

mingw(64位)

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download

32位配置图

64位配置图

安装MSYS(运行在windows上的小型linux环境)

msys1

http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe(官方)

http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/(第三方)

msys2(32位,64位二选一,需要linux命令,会linux的可以考虑,pacman包管理器)

msys2(32位)

http://sourceforge.net/projects/msys2/files/Base/i686/

msys2(64位)

http://sourceforge.net/projects/msys2/files/Base/x86_64/

安装cygwin

cygwin(32位)

http://cygwin.com/setup-x86.exe

cygwin(64位)

http://cygwin.com/setup-x86_64.exe

安装Devel目录下的 gcc-core gcc-g++ gdb make

安装IDE

Ide有很多Code::Blocks、eclipse、netbeans等等,个人推荐netbeans

安装JDK(java开发工具)

http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装netbeans(开源IDE,下载C/C++版本)

https://netbeans.org/downloads/

配置系统环境变量PATH

我的电脑->属性->高级系统设置->环境变量->系统变量->Path->编辑->变量值

如果是mingw+msys

则把mingw的bin目录,msys的bin目录加入环境变量,用分号隔开

如果是cygwin

则把cygwin的bin目录,加入环境变量,用分号隔开

例子:我在Path原有的字符串后面加入下面字符串

;D:\now\GCC\msys\1.0\bin;D:\now\GCC\mingw64\bin

注:

mingw64配置图详解

有5个选项

Version(gcc版本),选择最高的

Architecture(架构),32位cpu选择i686,64位cpu选择x86_64

Threads(线程模式),如果使用posix api 选择posix,如果使用win32 api 选择win32

Exception(异常处理机制,有三种)

SJLJ (setjmp/longjmp)

优点,兼容性好,32位或64位架构都可以使用

缺点,速度较慢

DWARF (DW2, dwarf-2)

优点,速度比SJLJ快

缺点,只能用于32位架构,且有bug!(尽量别用!!!)

SEH (zero overhead exception)

优点,速度快

缺点,只能用于64位架构

Build revision(编译版本),选择最高的

http://blog.163.com/dabing1688@126/blog/static/169574450201411217271639

gcc安装教程(学习Linux编程只需安装cygwin)的更多相关文章

  1. ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装

    http://www.oschina.net/question/565065_81231      因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...

  2. windows下ipython的tab补全,只需安装pyreadline即可.

    运行ipython提示缺失模块 在windows下安装readline失败. 根据提示访问 https://urllib3.readthedocs.org/en/latest/security.htm ...

  3. VirtualBox扩展包安装教程|VirtualBox扩展增强包怎么安装

    VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...

  4. [转]Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) --有部份地方有问题

    Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) [转载]原文地址:http://canonind.blog.51cto.com/8239025/1883066 一.安装前 ...

  5. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器

    CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...

  6. OpenAcc社区版安装教程(Linux版)(更新版)

    官方安装过程如下图所示 1.安装前 下载OpenAcc社区版 1,目前为止的最新版,平台是Linux,选择Linux x86-64. 我的服务器系统是CentOs 下载地址链接:https://www ...

  7. 人声提取工具Spleeter安装教程(linux)

    在安装之前,要确保运行Spleeter的计算机系统是64位,Spleeter不支持32位的系统.如何查看? 因为在linux环境下安装spleeter相对要简单很多,这篇教程先以Ubuntu20.04 ...

  8. kali linux安装教程及VMware Tool工具的安装

    一.Kali Linux在VMware下的安装 kali系统的简介 1.Kali Kali Linux是基于 Debian 的 Linux发行版,设计用于数字取证和渗透测试的操作系统.由Offensi ...

  9. 大数据学习——Linux上常用软件安装

    4.1 Linux系统软件安装方式 Linux上的软件安装有以下几种常见方式: 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM发布包 软件已经按照redhat的 ...

随机推荐

  1. Android Warning not all local changes may be shown due to an error

    idea使用svn出现Warning not all local changes may be shown due to an error,如下图所示: 解决方案: 1.File > Setti ...

  2. 软件——关于C,typedef

    1;;写博客能让我慢下来,仔细思考 1;;这篇博客大多摘自网上 1;; 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相 ...

  3. 微服务实战(三):深入微服务架构的进程间通信 - DockOne.io

    原文:微服务实战(三):深入微服务架构的进程间通信 - DockOne.io [编者的话]这是采用微服务架构创建自己应用系列第三篇文章.第一篇介绍了微服务架构模式,和单体式模式进行了比较,并且讨论了使 ...

  4. 关于mybatis中,批量增删改查以及參数传递的问题

    1.參数传递的问题 大多数情况下,我们都是利用map作为參数,而且大部分情况下都是仅仅有一个參数. 可是,我们也能够利用@param注解,来传入多个參数,此时,mybatis会自己主动将參数封装成ma ...

  5. Oracle批量插入在C#中的应用

    public void SetUserReportResult(int[] reportId, bool isReceive, string result) { if (reportId == nul ...

  6. sqoop 1.4.4-cdh5.1.2快速入门 分类: C_OHTERS 2015-06-06 11:40 208人阅读 评论(0) 收藏

    一.快速入门 (一)下载安装 1.下载并解压 wget http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.2.tar.gz tar - ...

  7. 如何把canvas元素作为网站背景总结详解

    如何把canvas元素作为网站背景总结详解 一.总结 一句话总结:最简单的做法是绝对定位并且z-index属性设置为负数. 1.如何把canvas元素作为网站背景的两种方法? a.设置层级(本例代码就 ...

  8. like小计

    1.有索引的列最好进行 ‘aa%’形式可以使用一些索引. 2.如果非得进行 ‘%aa%’这种类型查询,那这个条件不要进行主要过滤条件. 意思是这个列如果有索引就不能用索引,即使用了,索引页是进行对整个 ...

  9. ASIC DC综合的理解

    ASIC DC综合的理解 DC综合流程 输入设计文件+指定的工艺库文件+约束文件 经过DC的综合,输出满足期望的门级网表及综合报告 输入输出数据 输入文件:设计文件(verilog等).工艺库(db) ...

  10. [AngularJS] Directive for top scroll bar

    angular.directive('dblScroll', dblScroll) dblSroll.$inject = [ '$timeout' ]; function dblScroll($tim ...