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. Java设计模式——代理模式实现及原理

    简介 Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术.生活中的方方面面都可以虚拟到代码中.代理模式所讲的就是现实生活中的这么一个概念:中介. 代理模式的定义:给某一个对象提 ...

  2. (转)如何启动或关闭数据库的归档(ARCHIVELOG)模式

    转自:http://www.eygle.com/archives/2004/10/oracle_howtoeci.html Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非 ...

  3. 代码从windows下visual studio到andriod平台迁移的修改记录

    前言 前言也是迁言,从windows的visual studio 2012平台迁移到android平台上,需用修改挺多的代码和需用注意地方. 我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一 ...

  4. Android入门——Bitmap和BitmapFactory

    我们都知道一个App的成败,首先取决于是否具有优秀的UI,而除了交互功能之外还需要丰富的图片背景和动画去支撑.在开发中我们应用到的图片不仅仅包括.png..gif..9.png..jpg和各种Draw ...

  5. 记录一下phper的学习方向

    我是一个懒惰的人,吃了多年技术老本儿,对新技术缺乏学习动力,仗着逻辑思维的优势处理问题 http://www.topthink.com/topic/26730.html

  6. js循环一维数组按指定长度截取为二维数组

    //随便创建一个数组 let data = "abcdefghijklmnopkrstuvw12322999".split(""); //总数组 let pro ...

  7. 【52.49%】【codeforces 556A】Case of the Zeros and Ones

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  8. [Now] Update an application hosted with Zeit’s Now

    Because now deploys are immutable, you can’t push changes to a running instance - you just push a ne ...

  9. jquery插件课程1 幻灯片、城市选择、日期时间选择、拖放、方向拖动插件

    jquery插件课程1  幻灯片.城市选择.日期时间选择.拖放.方向拖动插件 一.总结 一句话总结:都是jquery插件,都还比较小,参数(配置参数.数据)一般都是通过json传递. 1.插件配置数据 ...

  10. 摘录-MYSQL5.7版本sql_mode=only_full_group_by问题

    下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了. 一旦开启 only ...