Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19190
  • 博文数量: 15
  • 博客积分: 560
  • 博客等级: 中士
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 17:27
文章分类
文章存档

2011年(1)

2008年(14)

我的朋友
最近访客

分类: C/C++

2008-03-06 22:52:05

Open C

Open C是一组基于POSIX及其它流行开源项目的C库.其实现100%涵盖移动应用所需特性,如密码哈希运算(hashing)加密(libcrypt)压缩(libz)及动态链接库的加载(libdl),同时在Open C第一个发布版本中舍弃了其中某些耗费资源的函数.
Open C中包含了如下这些令人熟悉的库,其库函数的70%多被实现:
    Libc--标准的C库,支持标准的输入/输出例程,数据库例程,位运算符,字符串运算符,字符测试的字符运算符,DES加密例程,存储分配,时间函数,sockets及进程间通信等.
    Libm--支持算术函数和数学函数
    Libpthread--Pthreads API提供一个IEEE Std1003.1c(POSIX)标准接口,支持在标准用户例程中创建很多线程.目前该实现仅支持用户代码空间.Pthreads提供了一些线程创建和销毁函数,一个用于建立线程调度参数的函数接口,以及一些互斥变量及条件变量,用于为程序员提供共享进程资源的机制.
    Libz--'Zlib'压缩库提供了内存操作级别的压缩和解压缩函数.包括对未压缩数据的完整性校验.
    Libcrypto--OpenSSL crypto库实现了在互联网标准中被广泛使用的加密算法.这个库所提供的服务被SSL,TLS和S/MIME的OpenSSL实现所使用,同时也是用于实现SSH,OpenPGP和其他一些加密标准.
    Libssl--OpenSSL ssl库实现Secure Sockers Layer(SSL V2/V3)和Transport Layer Security(TLS v1)的协议.
    Libcrypt--Cryptography库含有对数据块和消息进行加密/解密的一些函数及密码哈希计算.
    Libglib--这是一个通用工具库,它提供许多使用数据类型 宏 类型转换工具 字符串工具 文件工具 一个主循环抽象等.它本身可以运行在许多类UNIX平台 WINDOWS OS/2等平台上.

   
    P.I.P.S(PIPS Is POSIX on Symbian),这是Symbian宣布支持的POSIX库的缩写.

Open C的局限性

  • 不支持signal,fork和exec. 如果想移植的软件含有这些系统调用,还需要对其用法作仔细研究,以确定移植修改工作量.
  • Open C并不提供针对UI开发的任何API.可以用现有的S60 APIs实现UI,还可以借助Carbide.c++ Developer或Professional版本中的图形化开发环境帮助UI的开发.用S60 Python的一些Python功能绑定也可以实现UI.
  • Open C并部位Symbian/S60平台服务(如电话,消息,蓝牙,定位服务等)提供本地的c调用绑定.如果需要,必须使用C++的接口,但是从可移植性的角度看,建议将平台特定源代码封装到不同的源文件中.

阅读(914) | 评论(0) | 转发(0) |
0

上一篇:chp4 表达式

下一篇:chp5 选择语句

给主人留下些什么吧!~~