跨平台库--PWLib入门

转载 2011年10月18日 10:50:58

PWLibPortable Windows Library的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让Openh323WindowsUnixX-Windows下运行不过随着步步的完善PWLib已经被跨平台的程序所广泛采用.在最新的Pandora版本中,Equivalence已经停止了PWLibGUI部分的开发,全面转向了更能为Openh323所利用的PTLib,GUI部分交给了wxWindows来完成.PWLib主要功能侧向网络,I/O和多线程,主要用在高性能的可移植网络程序.


PWLib分为两部分:基类部分和控制台部分.基类部分主要包括网络,多线程,ASN...,所有使用PWLib的应用程序必然用到基类部分.而控制台部分则定义了一些基本的数据和设备类型,它是可选的,不过要方便移植的话还是要用到它.
下面从Hello World开始说PWLib框架:
#include <ptlib.h>                        //
所用使用PWLib都用包含的头文件


class Hello : public PProcess          //继承主线程类PProcess
{
  PCLASSINFO(Hello, PProcess)     //
连接PProcess的运行时函数
  public:
        void Main();                          //
主线程是从PProcessMain()开始的
};


PCREATE_PROCESS(Hello)           //定义Main()函数和初始化Hello


void Hello::Main()
{
  cout << "Hello world!\n";     
}
下面详细介绍各个类:
基本对象类:
PObject - PWLib
中的根类,所有的类都派生于此 
PContainer - 
抽象容器类
PAbstractArray - 
所有数组对象的基类
PAbstractList - 
所有列表对象的基类 
PAbstractDictionary - 
字典对象的基类
PString - 
字符类,Openh323中随处可见


I/O通道类 
PChannel - I/O
通道的基类,下面类都派生于此
PIndirectChannel - 
可以交换的操作不同的I/O通道
PConsoleChannel - 
进入系统命令行的通道 
PPipeChannel - 
在当前进程和子进程剪建立管道 
PSerialChannel - 
串口通信通道 
PFile - 
文件操作类.
PTextFile - 
文本文件操作类
PStructuredFile - 
结构文件操作类,不同操作文件类型都不尽相同
PFilePath -
对文件的路径描述的类
PVideoChannel - 
视频的输入,输出通道,采用YUV格式
PSoundChannel - 
音频的输入,输出通道,使用线性的PCM通道


套接字类
PSocket - 
套接字的基类,所有网络操作类派生于此 
PIPSocket - IP
协议层的描述类 
PUDPSocket - IP
协议中UDP描述类 
PTCPSocket - IP
协议中TCP/IP描述类  
PICMPSocket - IP
协议中ICMP描述类 
PIPXSocket - IPX
协议的基类
PEthSocket - 
底层的以为网接口类,可以直接操作底层数据包


进程和线程类:  
PProcess - 
实现程序的主线程控制类 
PServiceProcess - 
后台程序或系统进程使用的类 
PThread - 
普通线程的控制类 
PSemaphore - 
使用信号量的线程同步类
PMutex - 
使用互斥对象的线程同步类
PCriticalSection - 
使用临界区的线程同步类
PSyncPoint - 
使用事件的线程同步类
PAtomicInteger - 
描述了信号量及PV操作


其他杂类:
PArgList - 
命令行参数类 
PConfig - 
存储应用程序的配置内容 
PTime - 
时间和日期的抽象类 
PTimeInterval - 
毫秒为单位的记时类
PDynaLink - 
动态连接类
PRemoteConnection - 
网络连接控制类
PMail - 
调用系统默认程序发邮件
PPluginManager - 
插件管理模块
PSmartPointer - 
智能指令类 
PNotifier - 
通告类,可以调用任何类的任何函数
PSmartNotifierFunction - 
智能的通告函数类,使用对象ID


控制台部分:


HTTP协议类:
PHTTP - HTTP
协议基类
PURL - URL
的具体描述
PHTML - HTML
的具体描述
PHTTPServiceProcess - 
后台的HTTP服务程序类


其他协议类 
PInternetProtocol - Interner
文本协议基类 
PPOP3 - POP3
协议的基类
PSMTMP - SMTP
协议的基类
PFTP - FTP
协议的基类
PMIMEInfo - 
描述MIME信息
PTelnetSocket - 
描述TELNET协议 
PSocksProtocol - Socks
协议的基类
PSTUNClient - 
实现STUN登陆操作
PSNMP - SNMP
协议的基类
PSSLChannel - 
OpenSSL基础上建立的SSL协议类
PSASL - 
Cyrus SASL基础上建立的SAS协议L
PXMLRPC - 
XMLHTTP基础上建立的XMLRPC协议描述 
PSOAPClient - 
实现SOAP登陆
PLDAPSession - 
使用OpenLDAP进行LDAP登陆 
PILSSession - 
使用OpenLDAP进行ILS登陆
XMPP::Stream - 
实现XMPP(Jabber)


其他杂类:
PModem -
操作Modem,使用AT命令和Modem串口通信
PIpAccessControlList - 
子网掩码的描述
PRandom - 
产生随机数类
PCypher - 
不同编码的解码和编码
PWAVFile - AIFF
格式的WAV文件操作类 
PDTMFDecoder - 
PCM流进行DTMF解码 
PMemoryFile - 
让数据存储在内存中
PSDLVideoDevice - 
使用SDL库实现视频设备
PXML - XML
解析器
PVXMLChannel - VXML
的解析器

跨平台库--PWLib入门

 跨平台库--PWLib入门document.title="跨平台库--PWLib入门 - "+document.titlePWLib是Portable Windows Library的缩写,翻译为轻...
  • efiish
  • efiish
  • 2006-04-11 13:47:00
  • 1768

PWlib 帮助文档

  • 2008年09月24日 16:37
  • 2.55MB
  • 下载

PWLib入门

PWLib是Portable Windows Library的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让Openh323在Windows和Unix的X-Wind...
  • luchy
  • luchy
  • 2007-03-27 09:13:00
  • 749

跨平台多线程库pthread

【原创文章,转载请保留或注明出处:】 1.简介 POSⅨ thread 简称为pthread,Posix线程是一个POSⅨ标准线程,该标准定义内部API创建和操纵线程。 线程库实行了POSIX线程标准...
  • yinyhy
  • yinyhy
  • 2013-09-03 10:32:51
  • 5250

ptlib (pwlib)介绍和在可移植性代码中的运用

PWLib是Portable Windows Library的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让Openh323在Windows和Unix的 X-Win...
  • long458
  • long458
  • 2010-05-27 09:47:00
  • 634

C++跨平台开源库 之二

值得学习的C/C++语言开源项目(1)ACE 庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html(2...
  • lianshaohua
  • lianshaohua
  • 2017-06-14 15:33:13
  • 3701

XSocket-跨平台网络库

XSocket是一个简单的Socket可伸缩库,你可以把它编译成动态库、静态库、或者直接包含源文件到你的工程里。 鉴于网络上充斥着各类Socket库,好坏不一,难言好用,本人根据多年从业经验和对设计...
  • i7thTool
  • i7thTool
  • 2016-06-30 17:14:03
  • 1552

C++跨平台开源库 之一

在如下的库支持下,开发的系统可以很方便移植到当前大部分平台上运行 而无需改动,只需在对应的平台下 用你喜欢的编译器 重新编译即可 经典的C++库 STLport——-SGI STL库的跨平台可移植版本...
  • lianshaohua
  • lianshaohua
  • 2017-06-14 15:31:51
  • 1620

纯C语言通用库(跨平台)

C语言通用库(跨平台)。 1.APR:Apache Portable Runtime 用于Apache服务器。 2.GLib:GNOME 用于开发桌面。 3.CF...
  • huangtao117
  • huangtao117
  • 2014-08-18 09:43:30
  • 1645

简单跨平台串口通信C++类的实现

简单跨平台串口通信C++类的实现1. 说明:    在Eclipse和mingw环境下开发串口应用程,目标是实现串口控制的跨平台实现,    此程序目前只支持windows平台。2. 源代码:  此代...
  • anve
  • anve
  • 2010-03-29 09:46:00
  • 2380
收藏助手
不良信息举报
您举报文章:跨平台库--PWLib入门
举报原因:
原因补充:

(最多只允许输入30个字)