LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1005|回复: 8

怎么同时支持unix与windows?

[复制链接]
发表于 2005-12-19 10:28:09 | 显示全部楼层 |阅读模式
在一个开发包中同时支持两种系统,在安装时要求用户输入不同编译参数是可以的。有没有一种智能的方法,能让程序自己区分呢——有这样的宏吗?谢谢
发表于 2005-12-19 10:48:58 | 显示全部楼层
用qt库应该可以,不过宏还是要自己写吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-19 11:35:44 | 显示全部楼层
“用qt库应该可以”是什么意思?干吗的,实在是没用过。:confused:
我不是说编码,只是说编译喔:hungry
回复 支持 反对

使用道具 举报

发表于 2005-12-19 12:00:02 | 显示全部楼层
Post by bonami

我不是说编码,只是说编译喔:hungry


cygwin: http://www.cygwin.com/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-19 13:27:32 | 显示全部楼层
看样子有了cygwin就只用做unix下的了。那岂不是和java一样跨平台了吗?:!! :%
回复 支持 反对

使用道具 举报

发表于 2005-12-19 17:11:15 | 显示全部楼层
#ifdef _WIN32
// Windows-specific code goes here
#else
// non-Windows-specific code goes here
#endif

或者也可以将平台有关的代码写到不同的文件中,使用同样的函数名,然后在不同的平台下编译不同的代码即可
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-19 17:49:03 | 显示全部楼层

this seems to be exactly what i need

Post by whistlerwmz
#ifdef _WIN32
// Windows-specific code goes here
#else
// non-Windows-specific code goes here
#endif

或者也可以将平台有关的代码写到不同的文件中,使用同样的函数名,然后在不同的平台下编译不同的代码即可

那unix是啥宏呢?(需要与mac什么的区分吧)
回复 支持 反对

使用道具 举报

发表于 2005-12-19 18:06:27 | 显示全部楼层
我只知道 GNU/Linux 是 __linux__
其它的 BSD 或 Mac OS X 等不知道

不过对于符合 POSIX 的操作系统实际上都是差不多的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-20 10:03:44 | 显示全部楼层
333x:2cool
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表