饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks

1- 注意文件名的大小写, 这个在移植到 LINUX 这种文件系统区分名字大小写的系统上尤其重要.
2- 同样的,注意文件名大小写的同时,也应该注意避免在区分大小写的系统上创建大小写不同,但名字相同的代码文件.
3- 保证每个代码文件(CPP,H)的结尾都有单独的没有任何内容的一行, 这在CC/GCC/G++编译器下能减少很多警告.
4- 同1 和2 项所说, #include 包含头文件的时候一定要注意文件名的大小写, VC++总是把大小写搞乱, 不得不猜想微软是不是想要阻挠跨平台的软件开发...
5- 接第4项, 头文件的路径分隔推荐使用 " / ", 而不是WINDOWS下常用的 " \ ", 前者基本可以在所有系统上使用, 后者似乎是WINDOWS独家支持的.
6- 尽量使用标准C++的原子数据类型, 避免使用被重新定义过的类型. 或者自己重新重定义一套.
7- 避免使用编译器相关的一些特性, 比如VC++的_descspec() 这个扩展出来的各种语言特性. 尽量所有代码都按照C++标准来编写.
8- 注意不同平台编译器的非C++标准的地方,  比如返回对象实例的生存空间.
9- 尽量把操作系统相关的东西都封装成统一的调用接口, 这样在你移植代码的时候,可以做到重新编译即可运行.
10- 调试环境最好选择WINDOWS平台, 因为那里的调试是最友好, 特别是WINDOWS的结构化异常非常的好用, 可以简单的DUMP出异常产生处的CALLSTACK和变量值...我说的可是发行版本.
11- 尽量不要使用内嵌汇编, 先不说GCC的内嵌汇编多么的难写, 光是不同平台CPU的指令集的差别就足以让人头疼. 不过说起来, 似乎GCC的内嵌汇编的写法是可以跨CPU硬件平台的.
12- 如果你的程序要在多平台下进行数据交换或者是网络通信, 请一定要注意LITTLE_ENDIAN和BIG_ENDIAN的区别, 仔细处理这个问题, 往往会解决让你挠头不止也无法解决的问题.
<未完待续>

posted on 2007-04-18 12:55 饭中淹 阅读(2369) 评论(4)  编辑 收藏 引用

评论

# re: 编写可以跨平台C++代码的一些经验心得(不断更新) 2007-04-18 17:33 梦在天涯
恩,很好,学习中
可以加入msn的C++高级编程群:group2041@xiaoi.com  回复  更多评论
  

# re: 编写可以跨平台C++代码的一些经验心得(不断更新) 2007-04-21 15:35 PT2006
哈哈

侦探~~~收藏了  回复  更多评论
  

# re: 编写可以跨平台C++代码的一些经验心得(不断更新) 2007-12-23 17:52 秦歌
顶  回复  更多评论
  

# re: 编写可以跨平台C++代码的一些经验心得(不断更新) 2008-04-12 12:16 chen3feng
接第4项, 头文件的路径分隔推荐使用 " / ", 而不是WINDOWS下常用的 " \ ", 前者基本可以在所有系统上使用, 后者似乎是WINDOWS独家支持的.

不是推荐,而是必须,使用\是未定义的行为。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理