当前位置:  技术问答>linux和unix

如何确保代码跨平台?Windows/Linux

    来源: 互联网  发布时间:2015-11-30

    本文导语:  之前听说过很多这方面的建议,现在想集中一下,因为我第一次要开发一个跨平台的东西。 我配置好了Cygwin,写代码的时候是 用vi写好呢还是windows下面的vs好呢? 跨平台要注意什么?除了不用操作系统的api以外 应...

之前听说过很多这方面的建议,现在想集中一下,因为我第一次要开发一个跨平台的东西。
我配置好了Cygwin,写代码的时候是

用vi写好呢还是windows下面的vs好呢?

跨平台要注意什么?除了不用操作系统的api以外 应该尽量不用那些头文件里面定义的宏吧(比如TCHAR)?还有什么各位高手来补充一下吧 谢谢

|
第一,尽可能用标准ANSI,MSDN一般有说明是否标准ANSI的功能;
第二,更高级的用跨平台的库;
第三,笨人用JAVA虚拟机;
第四,跨平台的目录结构经常是要考虑的,LINUX和WINDOWS目录结构不一样,没办法,经常要分开写;
第五,如果没有封装跨平台的线程,进程库,这部分要分开实现,郁闷;
第六,最后一个是编译环境问题,由于Makefile.am主要是UNIX系统的习惯,所以优先考虑在LINUX上实现,然后考虑向WINDOWS移植。

|
可以用VC编写代码,实现代码有平台差异的地方用条件编译,比如线程,同步这类的代码就需要根据系统作条件编译。多用标准库。
TCHAR这类当然是最好不用,非要用也可以,在linux编译的时候照着定义这个宏就是了

|
用跨平台的C++库。。
如 GUI 开发用 QT, 网络开发用ACE。。而且在程序中不要调用系统函数,而使用这些库所封装后的函数。。

|
用一些库比如:
apr 
glib
ACE
这些库中实现了大多数操作系统,比如网络开发,xml解析,线程,线程池,数据结构(lish ,hashtable等)。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 哪里有 weblogic 6.0 的下载,要确保能用的。
  • UNIX下如何简单有效地确保某程序同时只有一个进程实例运行?
  • 怎么用分区魔术师确保把/boot分在8G之前?(100分的诱惑)
  • 请大家帮我看看这样做来确保UNIX某程序同时只有一个进程运行可以吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3