一。 window下开发环境安装
Unix下编译通过的C代码,在win32下编译是不能通过的 ,当然Unix 和win32的API都是符合标准C,也就是说,大多数函数调用在unix和win32下是相同的.但是,unix有自己一些独特的API(如fork,spawn,signals,select,sockets等),如果代码中使用了这些API,在win32下当然找不到对应的库.
但是,这些API的功能在win32中也能实现,也许你已经发现了一个能让window编译Unix风格代码的方法:
1.修改编译器,让window下的编译器把诸如fork的调用翻译成window等价的形式--这就是mingw的做法.
2.修改库,让window提供一个类似unix提供的库,他们对程序的接口如同unix一样,而这些库,当然是由win32的API实现的--这就是cygwin的做法.
MinGW相比CygWin/gcc来讲,更加贴近win32。因为它几乎支持所有的Win32API。它所连接的程序,不需要任何第三方库即可运行。
MinGW安装
mingw官网提供是 一个二进制文件 远程安装 mingw-get-setup.exe 官网太慢直接去sourceforage去down下来
https://sourceforge.net/projects/mingw-w64/
直接地址
接下来双击一路 等待下载完成 已经下载完成的离线包 500多MB
将bin目录设置到环境变量
C:\MinGW\bin>gcc --version
gcc (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
二。Clion开发工具
使用记事本 或者vi在linux直接编写代码 个人感觉效率偏低 有时引入头文件还要去查api 如果有提示 大概方法也能
猜个90%左右 这里推荐jetbrains公司的clion
下载地址(30天的免费使用 ):
http://www.jetbrains.com/clion/
下载完成后 一路到验证 阶段 点击激活码 (https://jetlicense.nss.im/ 这个网站上有 拷贝进去就可以激活一年试用期)
配置MinGW
打开clion 新建一个项目 选择 c可执行文件
如果安装了mingw clion自动搜索并且配置 (点击菜单 File Setting选择)
但是 我的控制台报错
For MinGW make to work correctly sh.exe must NOT be in your path
说找了一个sh.exe 我之前装过openssh(C:\Program Files\OpenSSH\bin;) 立马从环境变量中剔除 点击控制台刷新按钮发现正常 后 就可以点击菜单栏的Run - Run 项目名称 或者 shift+f10 正常输出helloworld 为啥会输出了打开目录结构
CmakeLists.txt明显是cmake clion继承了cmake verygood 里面的代码自己打开看看吧
main.c 就是一个普通的main方法了
clion带给我们的除了编译运行(gcc make) 调试(gdb)方便 同时代码提示也是牛b的一点
现在享受在window上开发linux程序吧
mingw很多关于linux内部的一些功能无法使用 比如fork等 cygwin支持
配置Cygwin
cygwin也是离线安装 下载一个壳程序 https://cygwin.com/install.html
64位下载地址:https://cygwin.com/setup-x86_64.exe
下载后 打开开始安装 cygwin(一路默认 安装目录是 C:\cygwin64) 到达
choose A download Site页面
一路到达 Select Package页面 view上点击类别
Search中搜索gcc 将所有包选中安装
搜索gdb 将所有包选中安装
搜索make 将所有包选中安装
clion中 同 mingw配置就可以使用拉 安装的目录结构

由于cygwin实现了linux的基本所有的头文件的功能window库 所以在window编写的程序 linux直接编译运行
而且linux的api在window都可以直接使用 接下里我所有的代码都是基于cygwin在window下使用clion编写
2849

被折叠的 条评论
为什么被折叠?



