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. var let 区别

    var a = 5; var b = 10; if (a === 5) { let a = 4; // if 块级作用域 var b = 1; // 函数级作用域 console.log(a); // ...

  2. BZOJ 3038 上帝造题的七分钟2 树状数组+并查集

    题目大意:一个序列,有两种操作.1.将一段数中的每个数开根号.2.查询一段数的和. 思路:和3211是一个题,有兴趣的能够看看我的那篇博客. CODE: #include <cmath> ...

  3. Storm新特性之Flux

    Storm新特性之Flux Flux是Storm版本号0.10.0中的新组件,主要目的是为了方便拓扑的开发与部署.原先在开发Storm拓扑的时候整个拓扑的结构都是硬编码写在代码中的,当要对其进行改动时 ...

  4. JAVA一些基础概念

    Java (计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种长处,还摒弃了C++里难以理解的多继承.指针等概念.因此Java语言具有功能强大和简单易用两个特征. Java语 ...

  5. 【高德地图API】从零開始学高德JS API(五)路线规划——驾车|公交|步行

    先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有 ...

  6. Android 调用系统邮件,发送邮件到指定邮箱

    在项目中,最后有一个联络我们,要求是点击号码还有邮箱地址能够发送邮件,这时候解决的方案其实有两种,一种是调用系统发邮件的软件,可以添加邮箱账号就可以发送邮件:第二种是使用javamail来发送邮件.在 ...

  7. LA 2678 – Subsequence

    看到限时3S,自己写了一个二重循环的,然后华丽的 TLE...T T 瞄了瞄书上,作者的思路果然是很好.膜拜中. 他只枚举了终点,然后用二分查找. 用到了lower_bound函数,这个lower_b ...

  8. NSArray NSDictionary一些用法

    //从字符串分割到数组- componentsSeparatedByString: NSString *str = [NSString alloc] initWithString:@"a,b ...

  9. [TypeScript] The Basics of Generics in TypeScript

    It can be painful to write the same function repeatedly with different types. Typescript generics al ...

  10. ERROR:column &quot;rolcatupdate&quot; does not exist

    1.错误描写叙述 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/ ...