gcc安装教程(学习Linux编程只需安装cygwin)
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位)
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)的更多相关文章
- ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
http://www.oschina.net/question/565065_81231 因为Linux具有稳定,功能强大等特性,因此常常被用来做为企业内部的服务器,我们的很多用户也是将Ar ...
- windows下ipython的tab补全,只需安装pyreadline即可.
运行ipython提示缺失模块 在windows下安装readline失败. 根据提示访问 https://urllib3.readthedocs.org/en/latest/security.htm ...
- VirtualBox扩展包安装教程|VirtualBox扩展增强包怎么安装
VirtualBox是一款功能强大的免费虚拟机软件,一般我们安装VirtualBox后要安装扩展增强包,VirtualBox扩展包包含USB2.0和USB3.0控制等支持功能,如果没有装,在使用过程中 ...
- [转]Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) --有部份地方有问题
Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) [转载]原文地址:http://canonind.blog.51cto.com/8239025/1883066 一.安装前 ...
- CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器
CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...
- OpenAcc社区版安装教程(Linux版)(更新版)
官方安装过程如下图所示 1.安装前 下载OpenAcc社区版 1,目前为止的最新版,平台是Linux,选择Linux x86-64. 我的服务器系统是CentOs 下载地址链接:https://www ...
- 人声提取工具Spleeter安装教程(linux)
在安装之前,要确保运行Spleeter的计算机系统是64位,Spleeter不支持32位的系统.如何查看? 因为在linux环境下安装spleeter相对要简单很多,这篇教程先以Ubuntu20.04 ...
- kali linux安装教程及VMware Tool工具的安装
一.Kali Linux在VMware下的安装 kali系统的简介 1.Kali Kali Linux是基于 Debian 的 Linux发行版,设计用于数字取证和渗透测试的操作系统.由Offensi ...
- 大数据学习——Linux上常用软件安装
4.1 Linux系统软件安装方式 Linux上的软件安装有以下几种常见方式: 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM发布包 软件已经按照redhat的 ...
随机推荐
- var let 区别
var a = 5; var b = 10; if (a === 5) { let a = 4; // if 块级作用域 var b = 1; // 函数级作用域 console.log(a); // ...
- BZOJ 3038 上帝造题的七分钟2 树状数组+并查集
题目大意:一个序列,有两种操作.1.将一段数中的每个数开根号.2.查询一段数的和. 思路:和3211是一个题,有兴趣的能够看看我的那篇博客. CODE: #include <cmath> ...
- Storm新特性之Flux
Storm新特性之Flux Flux是Storm版本号0.10.0中的新组件,主要目的是为了方便拓扑的开发与部署.原先在开发Storm拓扑的时候整个拓扑的结构都是硬编码写在代码中的,当要对其进行改动时 ...
- JAVA一些基础概念
Java (计算机编程语言) Java是一门面向对象编程语言,不仅吸收了C++语言的各种长处,还摒弃了C++里难以理解的多继承.指针等概念.因此Java语言具有功能强大和简单易用两个特征. Java语 ...
- 【高德地图API】从零開始学高德JS API(五)路线规划——驾车|公交|步行
先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有 ...
- Android 调用系统邮件,发送邮件到指定邮箱
在项目中,最后有一个联络我们,要求是点击号码还有邮箱地址能够发送邮件,这时候解决的方案其实有两种,一种是调用系统发邮件的软件,可以添加邮箱账号就可以发送邮件:第二种是使用javamail来发送邮件.在 ...
- LA 2678 – Subsequence
看到限时3S,自己写了一个二重循环的,然后华丽的 TLE...T T 瞄了瞄书上,作者的思路果然是很好.膜拜中. 他只枚举了终点,然后用二分查找. 用到了lower_bound函数,这个lower_b ...
- NSArray NSDictionary一些用法
//从字符串分割到数组- componentsSeparatedByString: NSString *str = [NSString alloc] initWithString:@"a,b ...
- [TypeScript] The Basics of Generics in TypeScript
It can be painful to write the same function repeatedly with different types. Typescript generics al ...
- ERROR:column "rolcatupdate" does not exist
1.错误描写叙述 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/ ...