当前位置: 技术问答>linux和unix
如何确保代码跨平台?Windows/Linux
来源: 互联网 发布时间:2015-11-30
本文导语: 之前听说过很多这方面的建议,现在想集中一下,因为我第一次要开发一个跨平台的东西。 我配置好了Cygwin,写代码的时候是 用vi写好呢还是windows下面的vs好呢? 跨平台要注意什么?除了不用操作系统的api以外 应...
之前听说过很多这方面的建议,现在想集中一下,因为我第一次要开发一个跨平台的东西。
我配置好了Cygwin,写代码的时候是
用vi写好呢还是windows下面的vs好呢?
跨平台要注意什么?除了不用操作系统的api以外 应该尽量不用那些头文件里面定义的宏吧(比如TCHAR)?还有什么各位高手来补充一下吧 谢谢
我配置好了Cygwin,写代码的时候是
用vi写好呢还是windows下面的vs好呢?
跨平台要注意什么?除了不用操作系统的api以外 应该尽量不用那些头文件里面定义的宏吧(比如TCHAR)?还有什么各位高手来补充一下吧 谢谢
|
第一,尽可能用标准ANSI,MSDN一般有说明是否标准ANSI的功能;
第二,更高级的用跨平台的库;
第三,笨人用JAVA虚拟机;
第四,跨平台的目录结构经常是要考虑的,LINUX和WINDOWS目录结构不一样,没办法,经常要分开写;
第五,如果没有封装跨平台的线程,进程库,这部分要分开实现,郁闷;
第六,最后一个是编译环境问题,由于Makefile.am主要是UNIX系统的习惯,所以优先考虑在LINUX上实现,然后考虑向WINDOWS移植。
第二,更高级的用跨平台的库;
第三,笨人用JAVA虚拟机;
第四,跨平台的目录结构经常是要考虑的,LINUX和WINDOWS目录结构不一样,没办法,经常要分开写;
第五,如果没有封装跨平台的线程,进程库,这部分要分开实现,郁闷;
第六,最后一个是编译环境问题,由于Makefile.am主要是UNIX系统的习惯,所以优先考虑在LINUX上实现,然后考虑向WINDOWS移植。
|
可以用VC编写代码,实现代码有平台差异的地方用条件编译,比如线程,同步这类的代码就需要根据系统作条件编译。多用标准库。
TCHAR这类当然是最好不用,非要用也可以,在linux编译的时候照着定义这个宏就是了
TCHAR这类当然是最好不用,非要用也可以,在linux编译的时候照着定义这个宏就是了
|
用跨平台的C++库。。
如 GUI 开发用 QT, 网络开发用ACE。。而且在程序中不要调用系统函数,而使用这些库所封装后的函数。。
如 GUI 开发用 QT, 网络开发用ACE。。而且在程序中不要调用系统函数,而使用这些库所封装后的函数。。
|
用一些库比如:
apr
glib
ACE
这些库中实现了大多数操作系统,比如网络开发,xml解析,线程,线程池,数据结构(lish ,hashtable等)。
apr
glib
ACE
这些库中实现了大多数操作系统,比如网络开发,xml解析,线程,线程池,数据结构(lish ,hashtable等)。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。