当前位置:  开发笔记 > 编程语言 > 正文

用C编写跨平台应用程序

如何解决《用C编写跨平台应用程序》经验,为你挑选了2个好方法。

在C中编写跨平台应用程序时应该记住哪些事项?目标平台:基于32位Intel的PC,Mac和Linux.我特别期待Jungle Disk在其USB桌面版中具有的多功能性(http://www.jungledisk.com/desktop/download.aspx)

这类开发有哪些提示和"陷阱"?



1> Steve Wranov..:

我维护了很多年的ANSI C网络库,它被移植到接近30个不同的操作系统和编译器.该库没有任何GUI组件,这使得它更容易.我们最终将任何跨平台不一致的例程抽象为专用源文件,并在适当的情况下在这些源文件中使用#defines.这使得每个平台调整的代码与库的主要业务逻辑保持隔离.我们还广泛使用了typedef和我们自己的专用类型,以便我们可以根据需要轻松地在每个平台上更改它们.这使得端口到64位平台相当容易.

如果您希望拥有GUI组件,我建议您查看GUI工具包,例如WxWindows或Qt(它们都是C++库).



2> dmityugov..:

尽量避免使用依赖于平台的#ifdef,因为它们在添加新平台时会呈指数级增长.相反,尝试将源文件组织为一个树,在根目录下使用与平台无关的代码,在"叶子"上使用与平台相关的代码.有一本关于这个主题的好书,多平台代码管理.其中的示例代码可能看起来过时,但书中描述的想法仍然非常重要.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有