如何将下面linux下的程序改成windows下可通过
1个回答
展开全部
cygwin是linux仿真环境你在cygwin里面开发windows程序属于交叉编译
cygwin调用了cygwin.dll库来支持linux下gcc的函数对windows的支持。
如果不用cygwin.dll,就应该在编译参数中加上 -mno-cygwin ,意思是使用mingw的库来编译。
由此产生的弊端是一些linux中的函数不被支持。
如果要单纯的移植,还是带cygwin.dll一起发布好一点。
但是这种方法也不能保证全部可移植。
C语言能不能移植,还与linux和windows中C库的实现不同有关。
最简单的例子,他们的基础数据类型的表示方法可能不同,在linux中用4个字节表示的,linux中说不定是8个字节。由此你函数的输出结果也就不同。
因此你要做的,就是一点点的翻看两个系统的定义,确保他们的实现一样、不会产生二意性。
另外库函数的返回也可能不一样,也必须排除不同的返回值。
cygwin调用了cygwin.dll库来支持linux下gcc的函数对windows的支持。
如果不用cygwin.dll,就应该在编译参数中加上 -mno-cygwin ,意思是使用mingw的库来编译。
由此产生的弊端是一些linux中的函数不被支持。
如果要单纯的移植,还是带cygwin.dll一起发布好一点。
但是这种方法也不能保证全部可移植。
C语言能不能移植,还与linux和windows中C库的实现不同有关。
最简单的例子,他们的基础数据类型的表示方法可能不同,在linux中用4个字节表示的,linux中说不定是8个字节。由此你函数的输出结果也就不同。
因此你要做的,就是一点点的翻看两个系统的定义,确保他们的实现一样、不会产生二意性。
另外库函数的返回也可能不一样,也必须排除不同的返回值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询