免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 3514 | 回复: 20
打印 上一主题 下一主题

这种编码工作怎么做?(纯C) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-02 10:45 |只看该作者 |倒序浏览
我打算做一个程序,统一用ansi c编码,然后分别在windows和linux上编译。
可是我发现,linux和vc上的头文件、部分数据类型等不完全一致,那么如何进行统一编码呢?
难道,自己对部分数据类型重新封装?或者直接在windows上使用gcc是否可以实现编码的统一呢?

我对linux还不太熟悉,希望知道到朋友给些提示和建议,谢谢

论坛徽章:
1
射手座
日期:2013-09-30 15:24:05
2 [报告]
发表于 2006-08-02 10:52 |只看该作者
订成宏

论坛徽章:
0
3 [报告]
发表于 2006-08-02 11:01 |只看该作者
ifdef Windoews
.
.
.
else
.
.
.
endif //winduws

论坛徽章:
0
4 [报告]
发表于 2006-08-02 11:23 |只看该作者
嗯,和我目前的思路是一致的。
除此之外是否还需要做其它的工作?或者说,还有什么需要考虑的呢?

论坛徽章:
0
5 [报告]
发表于 2006-08-02 12:38 |只看该作者
1 数据类型定义成宏。
2 把依赖系统实现的部分独立出来。可以做成一个接口或者类屏蔽系统的差异。

论坛徽章:
0
6 [报告]
发表于 2006-08-02 12:59 |只看该作者
原帖由 MackedNice 于 2006-8-2 12:38 发表
1 数据类型定义成宏。
2 把依赖系统实现的部分独立出来。可以做成一个接口或者类屏蔽系统的差异。

>>
>>
>>赞成。对OS有依赖的部分可以单独作出来,最常见的就是两个fold。
>>对于一些不便于分开的,就使用define就可以了
>>
>>

论坛徽章:
0
7 [报告]
发表于 2006-08-02 14:18 |只看该作者

回复 5楼 MackedNice 的帖子

谢谢!
这个工作2年前时候也作过类似工作,不过为了保证OS平台和CPU的兼容上,工作量也不小。
而且做得也不很理想。

想问一下,是否有漂亮的样本程序(或代码)供学习和参考呢?或者是有参考的specification供参考呢?

总的来说思路倒是有,可是在‘整洁性’和‘易升级性’方面始终没有一个好的指导思想。

论坛徽章:
0
8 [报告]
发表于 2006-08-02 14:26 |只看该作者
>想问一下,是否有漂亮的样本程序(或代码)供学习和参考呢?或者是有参考的specification供参考呢?

有好多开源软件都是跨平台的...

论坛徽章:
0
9 [报告]
发表于 2006-08-02 14:53 |只看该作者
原帖由 rushrush 于 2006-8-2 14:26 发表
>想问一下,是否有漂亮的样本程序(或代码)供学习和参考呢?或者是有参考的specification供参考呢?

有好多开源软件都是跨平台的...


是有很多,但是我想要一个漂亮的代码

论坛徽章:
0
10 [报告]
发表于 2006-08-02 15:41 |只看该作者
在《程序员2005精华本》(下册)上见过解决的思路。
程序中

#include<a.h>

文件a.h中定义:
#ifdef WINDOWS
#include "windows.h"
#endif

#ifdef LINUX
#include "linux.h"
#endif


将依赖GNU/linux的宏独立出来放在"linux.h" 中。
将依赖Windows的宏独立出来放在"windows.h" 中。

[ 本帖最后由 libin1983 于 2006-8-2 15:46 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP