从Linux向Windows移植程序

从Linux向Windows移植程序
一个CGI程序,需要从Linux移植到Windows下,首先尝试用VS2005,编译,改程序尝试了n次,搞不懂为什么,就是编译通不过。后来用mingw来编译,编译通过了,但是工作却不正常,通过cgi浏览图片都不行,google之后,才知道windows下流模式分为Text和Binary两种,如果输入图片等二进制数据,需要用setmode(fileno(stdout), O_BINARY)切换二进制的流模式,不过gcc总提示我O_BINARY没有定义,一番google之后,知道了O_BINARY定义在fcntl.h中,加入对这个header文件的引用,终于没有问题了。之前在linux下编写这个程序时,错误的用printf输出字节流,造成问题,后来man了之后,才知道必须用fwrite才可以输出binary stream, 问题解决之后,才知道自己犯傻了,printf遇到\0就会终止输出,我居然用printf输入二进制流!在这里记录一下。

你可能感兴趣的:(从Linux向Windows移植程序)