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. 毕业两年做到测试经理的经历总结- 各个端的自动化,性能测试结合项目具体场景实战,分析客户反馈的Bug

    前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也 ...

  2. html始终让元素居中显示,背景图铺满随便拖动不出界

    首先.写两个class属性 body { margin: 0; padding: 0; height: 100%; width: 100%; background-image: url(../Cont ...

  3. [AngularFire 2] Object Observables - How to Read Objects from a Firebase Database?

    In this lesson we are going to learn how to use AngularFire 2 to query objects, and read them from t ...

  4. 29、应用调试之使用GDB来调试应用程序

    说明:gdb可以实现源代码单步调试 原理: 1.gdb在PC机上运行,gdbserver在arm开发板上运行,gdbserver在开发板上相当于父进程,应用相当于子进程,PC上gdb发命令给gdbse ...

  5. stm32的dac

  6. 【48.47%】【POJ 2524】Ubiquitous Religions

    Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 32364 Accepted: 15685 Description There a ...

  7. [JS Compose] 2. Enforce a null check with composable code branching using Either

    We define the Either type and see how it works. Then try it out to enforce a null check and branch o ...

  8. C++学习笔记8-操作符&指针

    1.  重载操作符 赋值操作符的返回类型应该与内置类型赋值运算返回的类型同样.内置类型的赋值运算返回对右操作数的引用,因此,赋值操作符也返回对同一类类型的引用.比如.Sales_item的赋值操作符能 ...

  9. Android多线程研究(3)——线程同步和互斥及死锁

    为什么会有线程同步的概念呢?为什么要同步?什么是线程同步?先看一段代码: package com.maso.test; public class ThreadTest2 implements Runn ...

  10. 在windows下远程访问linux服务器

    在网络性能.安全性.可管理性上,Linux有着其他系统无法比拟的强大优势,而服务器对这些方面要求特别高,因此Linux常常被用来做服务器使用.而当我们需要维护linux服务器的时候,就需要远程访问li ...