|
发表于 2004-9-1 10:13:31
|
显示全部楼层
[quote:f2666b0e07="北斗星君"]果然,知我者 Linuxers 啊。
其实我觉得还是以C语言为编写的主要语言为好。
格式就有点想 GTK 的那种。
比如一套文件操作函数可以如下定义。
[code:1]
typedef struct
{
int fd;
int mode;
} SdkFile;
SdkFile sdk_file_new(void);
int sdk_open_file(SdkFile *file,char *filename,int mode);
int sdk_read_file(SdkFile *file,void *buffer,int count);
int sdk_write_file(SdkFile *file,void *buffer,int count);
int sdk_tell_file(SdkFile *file);
int sdk_seek_file(SdkFile *file,long ofs,int seekmode);
int sdk_file_eof(SdkFile *file);
[/code:1]
虽然我已经实现了,但是觉得还不完善和严谨。而且,这套库靠我一人是很难实现的。所以,我想在做的各位是否可以帮助呢?
觉得与其和微软争Linux好还是Win32好,还不如定一个标准更合适。好让两个平台的开发都统一化。[/quote]
不是已经有标准io库了吗?可能很少有开发人员能理解到,每种库都是种开发语言,学习某种库大部分情况下比学习实现它的语言要费力气得多。
在今天来说,一般需求的情况下,已经不需要再另开炉灶写什么通用库了,而在特殊需求下,譬如你要实现个什么高负荷的系统或者实现某种特效,通用库是无法满足需求的,因为那些功能是没法抽象出来的,他们都需要利用平台的专有特性。
linux和windows根本不算什么大方面,如果说服务器系统,两个谁也不占优势,说桌面,怎么也应该是弥合mac和windows。由于linux遵循posix标准,大部分的程序(其实真正为linux专写的软件很少很少,由于大家不怎么关心其他的开源系统,才会以为这些是linux软件)都可以在linux,各种bsd,solaris,及其他unix上编译,运行。
最后,再泼盆冰水。通过写个通用库来弥和区别这在今天是根本不实用的想法,由于大量软件已经存在的事实,真正实际的做法是把某种平台专有库移植到另一种平台上去,去让开发人员抛弃辛辛苦苦学会的库用法再去学个新库,还不如让他们轻轻松松只需要重新编译一下程序来的实在吧。 |
|