PWLib指引者

ptlib-2_10_9-dev.rar h323plus和ptlib是做323协议开发必不可少的依赖库,我这里是用vs2015编译出来的lib库文件,我上传的压缩包中包含了开发所用到的include目录以及编译出来的库文件 立即下载
分类:  linux  Asterisk  SoftPhone2008-03-25 12:20  1456人阅读  评论(0)  收藏  举报

刚开始学PWLib,只能以混乱形容,翻译并拼凑出这篇短小的文章,希望后来者少走一些弯路

Portable Windows Library

 

PWLib 1.9.0

 

概述

 

为了可以同时构建在Microsoft和Unix X-Window操作系统上应用程序,从很多年前开始,PWLib从创建到逐步完善,已经成为相当完整而庞大的C++类库。 PWLib在设计之初还提供了Macintosh接口,但至今未被实现。

 

从此,大量出现的多平台GUI工具包,例如KDE、wxWindows以及OpenH323等的开发成为PWLib的主要应用者。他们开始更注重于解决网络、I/O移植性能、多线程以及可移植性能。通常PWLib被用来构建高性能和高移植性能的网络中心应用程序。

 

除了这些高级别的应用,早期PWLib还扩充了一些基本的容器类,比如数组、线性队列、排序队列(RB Tree)及散列集合(hash表)。在STL作为一种标准出现前,就已经在这里被构建。很可惜的是,这些结构同算子及通用的算法规则不能兼容。当然,这个领域的开发一直在进行之中,目前已经能够同STL兼容,并将在未来会逐步增加对STL的引入。

 

PWLib被广泛应用于多家公司,包括商业性质还是开源的产品中。PWLib创立本意主要是为了支持OpenH323项目,但作为一个单独的基本库,她非常完善。

 

PWLib中的类分为两种类型:基本类和控制组件。基本类包含了所有对诸如容器、线程、SOCKET等平台特性相关的结构的基本支持。所有的PWLib程序都需要有基本类。

 

控制组件实现一些通常是平台无关或者不是所有程序都需要的的功能。在一些特殊的平台(比如Windows),基本类和控制组件甚至被分为单独的压缩库。而在其他平台(比如Unix平台)中,所有代码被组合成一个单独的类库,并在不需要的地方直接告诉链接器忽略相关代码。

 

早期PWLib还支持GUI类和GUI组件,但在新的版本中,将不再支持。

 

如何使用PWLib

 

一个关于PWLib最简便的教程,请参考http://toncar.cz/openh323/tut ,这里我们说明一下如何创建一个最简单的程序。

 

下面的代码演示如果基于PWLib架构编写标准的”Hello world!”程序。

 

 

// hello.cxx

 

 

#include <ptlib.h>

 

 

class Hello : public PProcess

 

{

 

  PCLASSINFO(Hello, PProcess)

 

  public:

 

        void Main();

 

};

 

 

PCREATE_PROCESS(Hello)

 

 

void Hello::Main()

 

{

 

  cout << "Hello world!/n";

 

}

 

 

// End of hello.cxx

 

PCREATE_PROCESS宏定义定义了main()#函数并创建了Hello实例。使用C++初始化全局静态变量比较容易出问题(销毁更容易出问题),因此建议尽力在你的PProcess中方式所有内容,而不是在全局中定义。

 

基本类

 

基本对象类

 

  • PObject – PWLib所有其他类的基本类

     

  • PContainer – PWLib中所有带引用计数类的基本类

     

  • PAbstractArray – 数组抽象基类,等同于STL中的vector模板类

     

  • PAbstractList – 链表抽象基类,等同于STL中的list模板类

     

  • PAbstractDictionary – 集合抽象基类,等同于STL中的map模板类

     

  • PString – 字符串抽象基类,等同于STL中的string类

     

I/O信道类

 

基于PChannel抽象类的实现基本I/O的类集合

 

网络类

 

实现网络Sockets抽象 (基本上基于Berkeley sockets)

 

  • PSocket – 所有网络Socket基类

     

  • PIPSocket – 所有基于IP的Socket基类

     

  • PUDPSocket – 使用UDP协议的IP socket

     

  • PTCPSocket – 使用TCP/IP协议的IP socket

     

  • PICMPSocket – 使用ICMP协议的IP socket

     

  • PIPXSocket – 使用IPX协议的sockets基类

     

  • PEthSocket – 原始以太网络接口访问socket接口

     

进程和线程类

 

处理进程、多线程及同步的相关类

 

  • PProcess – 为一个正在运行的程序实现一个主控制线程

     

  • PServiceProcess – 实现后台或者系统进程

     

  • PThread – 抽象一个控制线程或者执行上下文

     

  • PSemaphore – 信号量,仅仅基于一个计数器的同步

     

  • PMutex – 互拆量,仅仅基于一个相互的排斥的同步

     

  • PCriticalSection – 临界量,实现对一个临界区域的独占访问的同步

     

  • PSyncPoint – 允许多线程同步访问一个特殊的代码点,请参看PSyncPointAck

     

  • PAtomicInteger – 原子,实现对一个带有原子增减操作的整型计数器

     

其他类

 

  • PArgList – 为一个控制台程序分解命令行

     

  • PConfig – 通过一种平台允许的机制,为程序配置提供一种安全的存储方式

     

  • PTime – 抽象一个完整的时间和日期使用类

     

  • PTimeInterval – 为两个PTime值之间的间隔抽象一个使用类

     

  • PDynaLink – 实现动态加载代码模型

     

  • PRemoteConnection – 控制远程拨号连接

     

  • PMail – 通过平台允许的机制发送邮件

     

  • PPluginManager – 管理插件代码模型

     

  • PAbstractFactory – 通过模版实现一个“抽象工厂”的范例

     

  • PSmartPointer – 一个包含引用计数指针

     

  • PNotifier – 一个允许任何类回调其他类成员函数的通知函数

     

  • PSmartNotifierFunction – 通过对象ID而不是指针的智能通知函数

     

控制组件

 

HTTP类

 

用来实现HTTP协议

 

协议类

 

实现不同的Internet相关协议。大部分在PWLib中已经实现,有些需要额外的库的支持。

 

其他类

 

  • PModem –为遵循AT命令集的Modem定制一个从PSerialChannel继承的子类

     

  • PIpAccessControlList – 定义一系列一定范围的IP地址或网络的准入规则

     

  • PRandom – 一个随机数生成器

     

  • PCypher – 实现一些代码加密方式,比如PMessageDigest5, PTEACypher, 以及PMessageDigestSHA1

     

  • PWAVFile – 实现AIFF格式的WAV文件

     

  • PDTMFDecoder – 从PCM数据流解码DTMF数据采样

     

  • PMemoryFile – 从PFile继承一个在内存中存储数据的子类

     

  • PSDLVideoDevice – 实现使用SDL库的视频设备

     

  • PXML – 实现一个对使用Expat库的XML的解析器

     

  • PVXMLChannel – 为VXML语言实现一个解析器

     

  • PTextToSpeech – 实现一个文本至语音的转换器

     

ASN.1原语支持类

 

 
pwlib_1.2.5-patched.tar.rar pwlib_1.2.5-patched.tar.rar下载 立即下载

相关推荐

h323服务器端程序,用到pwlib和openh323

h323服务器端程序,用到pwlib和openh323

什么是ptlib

ptlib 就是指pwlib PWLib是Portable Windows Library的缩写,翻译为轻便的Windows类库.PWLib采用C++编写,设计初衷是为了能让Openh323在Windows和Unix的 X-Windows下运行, 不过随着一步步的完善PWLib已经被跨平台的程序所广泛采用.在最新的Pandora版本中,Equivalence已经停止了PWLib中GUI部分 的开发,全面转向了更能为Openh323所利用的PTLib,GUI部分交给了wxWindows来完成.PWLib主要功

f_705的博客 1041

我的OpenH323编译编译经历:(OpenH323源码)ptlib-v1_12_0-src.rar

为了开发自己的东西,真的经历不少了苦啊,就连编译OpenH323都受了不少的麻烦。本资源的发布是一系列的,它包含了编译OpenH323所需要的编译方法文档(编译文档会不断的更新),并包括它所需要的各种环境的源代码

嵌入式linux移植——ptlib、H323plus、oh323tut 交叉编译 II

前言:上一篇博客主要讲了比较多原理的东西,也是我解决问题时掌握到的一些东西和重要依据,这篇博客接着上一篇博客 嵌入式linux移植——ptlib、H323plus交叉编译 I 继续往下讲~ 【补充】开发环境:Ubuntu16.04 、Hi3531a ; 编译工具链:arm-hisiv300-linux ; 【一...

weixin_41501825的博客 2489

ptlib-2.12.8-src.zip

ptlib 源码 里面有详细的实例 希望对你有用 有vs工程,可直接编译

飞书多维表格+影刀RPA:我如何用3个指令搞定每周的销售数据自动汇总(附完整配置截图)

本文详细介绍了如何利用飞书多维表格和影刀RPA实现销售数据的自动化汇总,通过三个核心指令(建立链接、列出记录、更新记录)简化繁琐的手工操作。文章包含完整的配置截图和实战指南,帮助用户快速部署自动化流程,提升工作效率。

weixin_29273849的博客 285

linux系统编译ptlib

linux系统下 ptlib-2_10_9_6 编译

wu5215080的专栏 779

STM32掉电保存配置参数技巧

本文介绍了使用STM32内置备份寄存器(BKP)实现掉电保存配置参数的方法。相比外接EEPROM或Flash,备份寄存器无需外设但存储容量有限,需通过VBAT引脚连接纽扣电池供电。文章详细说明了初始化步骤,包括使能PWR时钟、允许访问备份寄存器等操作,并提供了RTC初始化的代码示例。同时介绍了HAL库中读写备份寄存器的函数使用方法,包括HAL_RTCEx_BKUPWrite和HAL_RTCEx_BKUPRead函数的具体参数和调用示例。该方法适用于需要小容量数据掉电保存的应用场景。

hanhanhan233的博客 946

ptlib编译

<br />linux:<br /> <br /><br />part A: Building PTLib <br />------------------------ <br />1. extract ptlib.zip to /root/<br />2, cd /root/ptlib/<br />3, ./configure --disable-sasl --disable-sdl --disable-odbc(如果要用到ODBC连接数据库需要加这个选项) <br />4, vi ./make/ptbu

sleep技术讨论区 5555

H3C VRF实验

POP-vpn-instance-RT1]route-distinguisher 11:11 # VPN实例-RT1的路由区分器值11:11。配置路由泄露,其实就是在一个VPN示例中添加另一个VPN实例的下一跳,比如在VPN实例RT1中添加去往SRV的默认路由。但是也有了一个新的问题,那就是RT1、RT2和RT3也能互访了,这让VPN实例变得没有意义了。[POP]ip vpn-instance RT1 #配置vpn实例-RT1。绑定了VPN实例,所以要把路由添加到VPN实例POP中。

m0_68698993的博客 4025

Stata中介效应分析实战:从sgmediation安装到Sobel检验结果解读

本文提供了Stata中进行中介效应分析的完整实战指南,重点介绍了第三方命令sgmediation的安装、配置与使用。通过详细案例演示了如何运用Sobel检验分析变量间的间接效应,并深入解读检验结果,帮助研究者厘清自变量影响因变量的具体路径。文章还探讨了Sobel检验的原理、优缺点及结果报告规范,是进行实证研究的实用参考。

weixin_29197051的博客 630

基于pwlib(ptlib)连接MySql

    最近在研究ptlib库,因为好多大的开源项目都使用这个用C++开发的跨平台的库,所以比较感兴趣。前一段看了一个连接ACCESS的例子,现在把它改成MySQL的了。说起来简单,但对于我这个新手来说,花了不少时间。对ptlib有研究的朋友可以练习我,毕竟网上关于ptlib的东西不多。代码如下: /**//* * ODBCTest.cxx#include #include #incl

1293

企业级大模型落地:私有化部署的安全合规全流程实战指南

摘要:本文针对企业在大模型私有化部署中面临的数据泄露、合规风险及系统稳定性难题,提出一套覆盖数据安全、模型合规、审计追踪与灾备方案的全流程解决方案。通过双加密管道(国密SM4传输加密+AES-GCM存储加密)、SGX可信执行环境等技术,实现数据全生命周期保护;结合等保2.0三级要求与《生成式AI服务管理暂行办法》,提供合规性实施细则;并给出本地GPU集群、混合云、边缘推理盒子三种企业级部署方案及成本模型。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 913

PWLib指引者[转]

本文转载自:http://www.cnblogs.com/mugua/archive/2011/03/02/1968686.html 概述 为了可以同时构建在Microsoft和Unix X-Window操作系统上应用程序,从很多年前开始,PWLib从创建到逐步完善,已经成为相当完整而庞大的C++类库。 PWLib在设计之初还提供了Macintosh接口,但至今未被实现。

放飞自己 958

YOLOv11【第六章:模型压缩与极致优化篇·第4节】Lamp 剪枝算法:无需超参的自动化剪枝策略!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1211

嵌入式工程师成长之路(1)——元件基础(完整版)

为什么你的电路总是“玄学”故障?答案藏在这些元件里! 0欧电阻竟能引发信号反射?5V转3.3V电平匹配失败导致MCU烧毁?电容降压设计让电源“滋滋”响?——这些坑,本文全填平! 优快云硬件领域头部博主十年踩坑经验汇总,覆盖电阻、电容、电感核心难点+高频实战问题,让你从“调试地狱”直通“一次成功”!

云轩阁 2万+

OPENH323指引

同PWLIB指引目的一样,提供OpenH323的一个简单描述和大部分类结构说明,具体蓝色的部分可以通过链接查看继承表及详细介绍OpenH3231.17.0概述在整体继承表中最基本的对象是H323Endpoint类。应用程序通常应该包含继承于该类的子类的实例,并为不同的H323参数定义缺省的参数值(超时等)。当然最重要的是那些定义编解码和程序能够处理信道类型这些能力表的内容。使用H323Endpoi

天高地厚 3146

专栏三:解析spatialCNV的使用

文章Spatially resolved clonal copy number alterations in benign and malignant tissue发在natur

m0_58549466的博客 1252

第一次

第一次启用优快云的BLOG,不知道有没有时间来维护,希望点点滴滴能够留一些记忆在这里吧

天高地厚 1300

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OpenH323

同PWLIB指引目的一样,提供OpenH323的一个简单描述和大部分类结构说明,具体蓝色的部分可以通过链接查看继承表及详细介绍OpenH323  1.17.0  概述  在整体继承表中最基本的对象是H323Endpoint类。应用程序通常应该包含继承于该类的子类的实例,并为不同的H323参数定义缺省的参数值(超时等)。当然最重要的是那些定义编解码和程序能够处理信

efiish的专栏 1767

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

windows10 编译ptlib

官方参考链接:http://wiki.opalvoip.org/index.php?n=Main.BuildingPTLib

唐装鼠的主页 723

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 带GPG签名的Git tag
下一篇: xul
killmice
博客等级 码龄14年 119粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值