Mri*_*lla 39 c windows gcc cygwin mingw
我是一个狂热的Python用户,似乎我需要在我的Windows机器上安装MinGW来编译一些库.我对MinGW和GCC有点困惑.这是我的问题(从真实的虚拟观点来看):
所以Python是解释和编译的语言.有Linux的Linux和Windows实现,只需安装并使用二进制文件来执行他的代码.它们捆绑了一堆你可以使用的内置库.我读过的内容与Ruby相同.
现在,我已经完成了C的一小部分,我知道有人可以编译它.它有自己的内置库,可以使用它们称为头文件.现在,回到学校的那天,C,正在一个名为Turbo-C的vi类IDE中编写代码,然后按F9编译它.这几乎是我的C教育结束的地方.
什么是MinGW,什么是GCC?我一直主要研究Windows系统,甚至最近开始使用Cygwin.他们不一样吗?
对这些区域进行简单解释会有所帮助.
(如果这篇文章听起来很愚蠢/愚蠢,我很抱歉.我以为我会问这里.忽略这些核心位从来没有让任何人成为更好的程序员.)
感谢大家.
Dam*_*mon 26
MinGW是Windows平台的完整GCC工具链(包括六个前端,如C,C++,Ada,Go和诸如此类),它们编译并链接到msvcrt.dll中的Windows操作系统组件C运行时库.相反,它试图最小化(因此名称).
这意味着,除了Cygwin之外,MinGW 不会尝试在Windows之上提供完整的POSIX层,但另一方面它不要求您使用特殊兼容库进行链接.
因此,它对您编写的程序没有任何GPL许可证含义(值得注意的例外:分析库,但您通常不会分发那些无关紧要的).
较新的MinGW-w64带有大约99%完整的Windows API绑定(不包括ATL等),包括x64支持和实验性ARM实现.您可能偶尔会发现一些奇特的常数未定义,但99%的人使用99%的时间,它的效果非常好.
您也可以使用POSIX中较大的部分,只要它在Windows下以某种形式实现即可.不使用MinGW工作的一个主要POSIX的是fork,仅仅是因为Windows下没有这样的事情(Cygwin的经历很多痛苦来实现它).
还有一些其他小事,但总而言之,大多数事情都是有用的.
因此,在一个非常简单的句子中:MinGW(-w64)是一个"简单的编译器东西",它允许您为Windows编写本机二进制可执行文件,不仅用于C和C++,还有其他语言.
pmg*_*pmg 12
要编译C程序,您需要为特定计算机实现C实现.
C实现基本上由编译器(其预处理器和头部)和库(现成的可执行代码)组成.
在安装了Windows的计算机,包含最现成的可执行代码库是不兼容gcc的编译器...所以使用这个编译器在Windows,你需要一个不同的库:这就是MinGW进入.MinGW除其他外,还提供了与C一起实现C实现所需的库gcc.
Windows库和MSVC一起实现了不同的实现.
| 归档时间: |
|
| 查看次数: |
19690 次 |
| 最近记录: |