分享
 
 
 

跨平台库--PWLib入门

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

PWLib是Portable Windows Library的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让Openh323在Windows和Unix的X-Windows下运行, 不过随着一步步的完善PWLib已经被跨平台的程序所广泛采用.在最新的Pandora版本中,Equivalence已经停止了PWLib中GUI部分的开发,全面转向了更能为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(); //主线程是从PProcess的Main()开始的

};

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 - 在XML和HTTP基础上建立的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的解析器

PTextToSpeech - 实现文本到语音的语音合成转换

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有