![]() |
1
14
尽管谣言四起,Cygwin并不是一个Linux仿真器,也就是说它不生产或运行Linux可执行文件。为此,您需要一个虚拟机或coLinux。 相反,Cygwin是一个兼容层,它的目标是在Windows中实现尽可能多的POSIX和Linux api。这意味着程序必须专门为Cygwin编译,但也意味着它更好地与Windows集成,例如,它允许您在同一个程序中混合使用POSIX和Windows api。 是cygwin1.dll提供了这个兼容层。如果使用gcc-3的-mno Cygwin开关或MinGW编译器之一构建非Cygwin可执行文件,那么当然不能使用任何特定于POSIX/Linux的api,并且任何此类调用都需要替换为Windows等价调用。 |
![]() |
2
14
Cygwin是一个仿真层。它允许UNIX代码在Windows上运行,如果您将其编译为使用仿真层的话。对于Windows来说,它看起来像任何普通的DLL,并且像普通的一样进行OS调用。但是当您针对它进行编译时,它显示的函数与UNIX相同(好吧,POSIX在技术上是这样的,但是UNIX是这样的)
3) 记住,Cygwin看起来就像UNIX到UNIX
|
![]() |
3
4
不是一个完整的答案,但我想我能给一些提示。 (一) http://www.cygwin.com/cygwin-ug-net/programming.html MinGW . 2) 你需要一个跨海合会这样做。默认情况下,cygwin gcc生成与cygwin.dll链接的二进制文件。 3) 因为它是一个linux二进制文件。最简单的方法是用cygwin重新编译软件。 |
![]() |
4
4
ad 1)cygwin目前有三种不同的mingw交叉编译器:
ad 2)还没有cygwin包这样的linux交叉编译器。但是人们报告自己成功地构建了这样一个交叉编译器。
更正他人帖子中的错误:
|
![]() |
5
2
您需要在路径中包含cygwin.dll。
|
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 7 月前 |
![]() |
MysteryMoose · GCC下故意忽略初始化器警告中的过量元素 9 月前 |
|
Ken P · 如何利用[*]printf格式类型规范警告? 1 年前 |
![]() |
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 1 年前 |
![]() |
adversarr · 全局变量何时导出到可执行文件? 1 年前 |