cygwin编译器的编译结果可以直接在linux下运行,答案如下:1、可以安装cygwin,cygwin是一个类似unix的仿真环境,运行在windows平台上,是cygnus公司开发的免费软件,解决方案公司可以通过搜索官网下载。下载完成后,记得安装相关语言的编译器和解释器,并在cygwin中生成linux可执行文件。
2.您可以安装vmware、virtualpc等虚拟机,在虚拟机中安装linux系统,然后在linux系统中编译相应的源代码,在linux上生成可执行文件。
cygwin是一个linux模拟环境。在cygwin中开发windows程序是一个交叉编译cygwin调用cygwin.dll库支持gcc的功能,在linux下支持windows。
如果不是cygwin.dll,您应该将-mnocygwin添加到编译参数中,这意味着要使用mingw的库进行编译。缺点是linux中的一些函数不受支持。如果你想简单的移植,或者cygwin.dll最好一起出版。但这种方法并不能保证所有的可移植性。c语言能否移植还与c库在linux和windows下的不同实现有关。最简单的例子是,它们的基本数据类型可以用不同的方式表示。在linux中,它们由4个字节表示,在linux中,它们可以由8个字节表示。所以函数的输出是不同的。因此,您需要做的是稍微看看这两个系统的定义,以确保它们的实现是相同的,不会产生矛盾。此外,库函数的返回可能不同,必须排除不同的返回值。
您可以在cygwin中使用gcc直接编译,但您需要cygwin环境才能运行。如果您不觉得太麻烦,也可以使用windowsapi来实现这些函数