linux中什么是ptlib
中国人发行自己的Linux,应该是这个意思。
Linux发行版有许多,不过都是大同小异,只是在原始Linux内核的基础上,加入大量的其它GNU工具,同时配上Gnome或KDE图形桌面,再根据自己的国家民族的需求加入一些新特性,如红旗Linux对中文的支持就比其它外文版相对来说好。
拿当前比较流行的Ubuntu来说吧,它发行的版本就有ubuntu,kubuntu,xubuntu等一大堆,令人眼花缭乱,新手根本从而选择,不过核心的东西基本一样,何苦呢?
Linux操作系统(Linux),是一种计算机操作系统。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统(也被称为GNU/Linux)。基于这些组件的Linux软件被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软件,比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice.org),等等。
Linux内核最初是为英特尔386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。很多人认为,和其他的商用Unix系统以及微软Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
概述
绝大多数基于Linux内核的的操作系统使用了大量的GNU软件,包括了一个shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux操作系统改名为GNU/Linux。但有些人只把操作系统叫做"Linux"。
大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。
除了一部分专家之外,大多数人都不自己选择每一样组件或自行设置,而是直接使用Linux套件。
1983年,理察·马修·斯托曼(Richard Stallman)创立了GNU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的 Unix-like 操作系统。自1990年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的元件,像是——函式库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unix shell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。
Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的,当时他并不满意Minix这个教学用的操作系统。最初的设想中,Linux 是一种类似Minix这样的一种操作系统。Linux的第一个版本在1991年9月被大学FTP server管理员Ari Lemmke发布在Internet上,最初Torvalds 称这个核心的名称为 "Freax" ,意思是自由( "free") 和奇异( "freak") 的结合字,并且附上了"X"这个常用的字母,以配合所谓的 Unix-like 的系统。但是FTP server管理员嫌原来的命名“Freax”的名称不好听,把核心的称呼改成“Linux”,当时仅有10000行代码,仍必须执行于Minix操作系统之上,并且必须使用硬盘开机;随后在10月份第二个版本(0.02版)就发布了,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则信息:
Hello everybody out there using minix-
I'm doing a (free) operation system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.
历史
Linux 的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于 GNU 通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的 Linux 分销商之一。
Unix & Linux历史源流早期Linux的开机管理程序(boot loader)是使用LILO(Linux Loader),存在着一些难以容忍的缺陷,例如无法识别8G以外的硬盘,后来新增GRUB(GRand Unified Bootloader)克服了这些缺点,具有‘动态搜寻核心档案’的功能,可以让您在开机的时候,可以自行编辑您的开机设定系统档案,透过 ext2 或 ext3 档案系统中载入 Linux Kernel。
Linux 的标志和吉祥物是一只名字叫做 Tux 的 企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个 Linux 发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给 Linus Torvalds。Linus Torvalds 一再声明 Linux 是免费的,他本人可以卖掉,但 Linux 绝不能卖。
Linux 的某些版本是不需要安装就能使用的版本,他们称为 LiveCD。
用户群
GNU/Linux爱好者设计的宣传图,并使用GPL授权
GNU/Linux社群设计的立体图,并使用GPL授权传统的Linux用户一般都安装并设置自己的操作系统,他们往往比其他操作系统,例如微软Windows和Mac OS的用户更有经验。这些用户有时被称作“黑客”或是“极客”(geek)。然而随着Linux越来越流行,越来越多的原厂委托制造(OEM)开始在其销售的电脑上预装上Linux,Linux的用户中也有了普通电脑用户,Linux系统也开始慢慢抢占桌面电脑操作系统市场。同时Linux也是最受欢迎的服务器操作系统之一。Linux也在嵌入式电脑市场上拥有优势,低成本的特性使Linux深受用户欢迎。使用Linux主要的成本为移植、培训和学习的费用,早期由于会使用Linux的人较少,这方面费用较高,但这方面的费用已经随着Linux的日益普及和Linux上的软件越来越多、越来越方便而降低。
KDE和GNOME等桌面系统使Linux更像是一个Mac或Windows之类的操作系统,提供完善的图形用户界面,而不同于其他使用命令行界面(Command Line Interface,CLI)的类Unix操作系统。
未来软件界的方向
Linux 作为较早的源代码开放操作系统,将引领未来软件发展的方向。
基于 Linux 开放源码的特性,越来越多大中型企业及政府投入更多的资源来开发 Linux。现今世界上,很多国家逐渐的把政府机构内部门的电脑转移到 Linux 上,这个情况还会一直持续。Linux 的广泛使用为政府机构节省了不少经费,也降低了对封闭源码软件潜在的安全性的忧虑。
Linux的英文发音
根据Torvalds的说法,Linux的发音和“Minix”是押韵的。
“Li”中“i”的发音类似于“Minix”中“i”的发音,而“nux”中“u”的发音类似于英文单词“profess”中“o”的发音。依照国际音标应该是['linэks]。
有一份Torvalds本人说话的音频,音频内容为“Hello, this is Linus Torvalds, and I pronounce Linux as Linux”。
应用
运行在SUSE上的KDE桌面环境。过去,Linux主要被用作服务器的操作系统,但因它的廉价、灵活性及Unix背景使得它很合适作更广泛的应用。传统上,以Linux为基础的“LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”技术,除了已在开发者群体中广泛流行,它亦是现时提供网站务供应商最常使用的平台。
基于其低廉成本与高度可设定性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及行动装置等。在移动电话上,Linux已经成为Symbian OS的主要竞争者;而在行动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数位摄影机使用了经过客制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。
采用Linux的超级电脑亦愈来愈多,根据2005年11月号的TOP500超级电脑列表,现时世上最快速的两组超级电脑都是使用Linux作为其操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。
2006年开始发售的SONY PlayStation 3亦使用Linux的操作系统。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。至于游戏开发商雅达利及id Software,都有为其旗下的游戏推出过Linux桌面版本。此外,Linux Game Publishing亦有专门为Linux平台撰写游戏,并致力于把其他在Windows平台编撰的游戏程序码转携至Linux平台,及为转携游戏提供使用授权。
而一个打算对所有生活在发展中国家孩子提供手提电脑的名为每孩子皆有一部手提电脑(OLPC)的项目,正是使用Linux作为缺省的操作系统。
发行版
Linux 主要作为Linux 发行版(通常被称为"distro")的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个.
一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。
展望
一个打算对所有生活在发展中国家孩子提供手提电脑的名为每孩子皆有一部手提电脑(OLPC)的项目,正是使用Linux作为缺省的操作系统。
混沌初开
那是在一九九一年,令人痛苦难耐的冷战渐渐走到了尽头。 和平安详的空气开始升起在地平线。在计算科学领域, 随着强大硬件的推出,计算机的极限能力已超出了我们的想象, 一个辉煌的未来似乎已渐露端倪。
但还是缺了点儿什么。在操作系统领域,存在着一大片空白。
一方面,DOS还统治着庞大的个人电脑王国。 比尔盖茨花,000从一个西雅图黑客手中买来DOS。之后, 靠着聪明的市场策略,这个简陋的操作系统悄悄渗透到了世界的每一个角落。 PC用户没有其它的选择。苹果机虽好,但它的 天价没人能承受得起。 它和大众需求保持着遥不可及的距离。
计算领域的另一个阵营是UNIX世界。但UNIX更是贵不可攀。为了追求高额利润, UNIX销售商把价码抬得足以吓跑随便哪个PC用户。 贝尔实验室曾慷慨地向高校提供UNIX的源代码。但现在, 这些源代码被小心地看管起来,不再对外公开。更令全球PC用户心烦的是, 软件市场的大玩家们没能为这一问题提供个有效的解决方案。
MINIX似乎是个选择。它是在荷兰当教授的美国人Andrew S. Tanenbaum 从零开始编写出来的。 MINIX的初衷是为了向学生讲授操作系统的内部工作原理。 MINIX的设计是面向当时最为流行的Intel 8086微处理器。
作为一个操作系统,MINIX算不上一流。但它的好处是你能得到它的源代码。 只要你有Tanenbaum写的《操作系统:设计与实现》这本书, 你就能得到那12,000行用C和汇编写的源码。头一次, 程序员或黑客可以有机会读一读操作系统的源码--- 这种被软件商严加看管的东西。 Tanenbaum用详尽简洁的笔触探讨了编写操作系统的艺术。 他是个一流的作者,迷住了一批当时计算机领域最聪明的大脑。 全世界学计算机的学生都在钻研这本书, 通过读它的源码来了解他们电脑里运行的MINIX操作系统。
Linus Torvalds就是这些学生中的一个。
呱呱坠地
在1991 年,Linus Benedict Torvalds还是个芬兰学生,在赫尔辛基大学念计算机专业二年级。 同时他也是个自学成才的黑客。这个长着沙滩黄头发、 说话软绵绵的二十一岁芬兰帅哥喜欢折腾他的电脑,把它不断推向能力的极限。 但他缺少一个合适的操作系统来满足他如此专业的需求。MINIX不错, 可它只适合学生,是个教学工具,而不是一个强大的实战系统。 当时,全世界的程序虫们都很看好Richard Stallman的GNU项目 ---一个致力于推出自由、高质量软件的运动。在计算科学的王国里, Stallman是个倍受尊崇的神话式英雄。 他令人景仰的职业生涯是从大名鼎鼎的 MIT人工智能实验室开始的。 七十年代中后期,在那里他开发出了著名的Emacs编辑器。 八十年代早期,商业软件公司从人工智能实验室吸引走了绝大多数优秀的程序员, 并和他们签署了严格的保密合同。Stallman为此大大不爽。他认为软件和其它产品不同, 在复制和修改方面,它不该受到任何限制。只有这样,才可能开发出更好更强的 软件。1983年,他在著名的《GNU宣言》中,向世人宣告了GNU项目的启动, 开始了贯彻其哲学的自由软件运动(注:GNU一词是‘GNU's Not Unix’的递归缩写)。 为了最终实现开发出一个自由操作系统的梦想,他得先制造些工具。 于是,在1984 年初,Stallman开始创作一个令商业企业程序员叹服的作品--- GNU C编译器(gcc)。他出神入化的技术天才,令所有商业软件程序员自愧不如。 gcc被公认为世界上最高效最强健的编译器之一。
到1991年,GNU项目已经开发出了众多的工具软件。 大家期待已久的GNU C编译器也问世了。但自由操作系统还没有出现。 MINIX也受制于版权(后来,在2000年4月, Tanenbaum在BSD许可证下发布了自由的MINIX)。 GNU操作系统内核---HURD---还在开发之中,几年之内还不可能面世。
拖了这么久,终于该说说Linus了。
1991年8月25号,Linus在MINIX新闻组发出了历史性的一贴...
From: torvalds@klaava.Helsinki.FI(Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello,各位使用minix的朋友,
我正在写一个基于386(486)AT机器的(自由)操作系统 (只是出于爱好,不会做得象gnu那么大、那么专业).我从四月份开始酝酿,现在已经做得差不多了。 我现在想知道一些你们对minix的看法,它哪点好?哪点不好? 因为我这个操作系统和minix多少有点儿类似 (文件系统采用同样的物理布局〔因现实原因,其它方面也有类似的地方)。 我已经把bash(1.08)和gcc(1.40)移植过来了,而且它们运转正常。 这意味着在下面个月里,我将给它加上更多实际的功能。 所以我想知道大家都希望它有哪些功能。欢迎多提建议,但我不敢保证能实现你的建议 :-)
Linus (torvalds@kruuna.helsinki.fi)
附:没错,它不包含任何minix的代码, 而且它有一个多线程文件系统。 它现在不能在其它硬件上转(因为用了386任务切换机制,等等),而且除了AT硬盘,它基本上不支持任何其它硬件。 这就是全部了:-(。
从这个帖子不难看出, Linus自己并没预料到他的小创造将会改变整个计算科学领域。 1991年9月中旬,Linux 0.01版问世了,并且被放到了网上。 它立即引起了人们的注意。源代码被下载、测试、修改, 最终被反馈给Linus。10月5号, 0.02版出来了,同时伴随着Linus著名的声明:
From: torvalds@klaava.Helsinki.FI(Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
你在怀念minix-1.1时代的美好时光吗? 那时你自己写着驱动,充满了成就感。 现在没什么好项目可做了,是吗? 你在拚命啃一个操作系统,修改它以满足你自己的需要,是吗? 现在minix已经没什么需要你去改进的了, 你为此怅然若失,是吗? 没机会再熬通宵去改进一个小程序了,是吗? 如果是这样的话,那这个帖子就是给你的
:-) 一个月(?)前我曾经提到过,我正在一个AT-386 机器上开发一个自由版本的、类似 minix的操作系统。 现在它终于出来了(尽管未必能满足你的期待)。 我乐意把源代码公开出来,让它传播得更广。 它现在仅仅是0.02版(外加一个(很小的)补丁)。 但是我已经成功地在它上面跑了 bash/gcc/gnu-make/gnu-sed/compress等程序。 我这个小宝贝儿的源程序在nic.funet.fi(128.214.6.100) 下面的 /pub/OS/Linux 目录中可以找到。 该目录中还有些 README 文件, 还有几个在linux下能工作的可执行文件 (bash,update和gcc,你还要求些什么呢 :-)。 完整的内核源代码都公布在这儿了,因为里面没用到minix的源程序。 而函数库的源程序只是部分开源,所以目前还不能提供出来。 拿到源代码后,直接编译就行了。编译完,就能转了。哈哈。 可执行程序(bash和gcc)的源代码可以在同一网站的/pub/gnu目录里找到。
几周以后, Linux 0.03版发布了。12月份,0.10版发布了。 这时的Linux还显得很简陋。它只能支持AT硬盘,而且不用登录(启动就进bash)。 0.11版有了不少改进,可以支持多国语言键盘、软驱、VGA、EGA、Hercules等等。 Linux的版本号从0.12直接上升到了0.95、 0.96......不久, Linux的源代码就通过在芬兰和其它一些地方的FTP站点传遍了全世界。
谁与争锋
不久,Linus开始面对挑战。他面对的不是别人,正是Andrew Tanenbaum, 那个开发出MINIX的伟大教师。在给Linus的一个回贴中,Tanenbaum写到:
“我还是坚持我的观点, 在1991年还设计这样一个整体架构的内核是个根本性的错误。 你该庆幸不是我的学生。这么个设计,在我这儿你得不了高分 :-)” (Andrew Tanenbaum to Linus Torvalds) Linus后来承认说,这是关于开发Linux他所得到的最坏评价。 Tanenbaum是当时的知名教授,他说的话自然很有份量。 但这次面对Linux,他的话没能奏效,因为Linus不是个轻易服输的人。
Tanenbaum还宣称: “Linux过时了。”
现在轮到新的Linux一代开始反击了。以强大的Linux社区为后盾, Linus给了Tanenbaum一个恰如其分的回复:
你的工作是教授、研究员。这对于minix的大脑损伤是个绝妙的解释。(Linus Torvalds to Andrew Tanenbaum)
Linux 的开发在继续。不久,加入开发的人数就超过了一百,然后是数千, 然后是数十万。Linux不再只是个黑客的玩具,配合上GNU项目开发出的众多软件, Linux已经可以走向市场了。它最终在GNU公共许可证下发布, 这保证任何人都可以自由获得它的源代码,可以自由复制、学习和修改它。 学生和程序员们都没错过这个机会。
不久,软件商们也来了。Linux是自由的操作系统。 软件商们需要做的只是把各种各样的软件在Linux 平台上编译, 然后把它们组织成一种可以推向市场的形式。 这和其它操作系统在运作模式上没什么区别,只是Linux是自由的。 Redhat、 Caldera、 和其它一些公司都获得了相当大的市场,获得了来自世界各地的用户。 除了这些商业公司,非商业的编程专家们也志愿地组织了起来, 推出了他们自己的品牌---享誉全球的Debian。 配上崭新的图形界面(比如X Window System、KDE、 GNOME), Linux的各个品牌都倍受欢迎。
好戏连台,惊喜不断。除了PC机,Linux又被移植到了许多其它平台上 (PowerPC、 Sun Sparc、ARM、Alpha...Debian就支持十几种CPU)。 它还被人安装到了3com的手掌计算机上。另外,利用集群技术, 许多Linux单机可以被组织成一个整体,用于并行计算。1996年4月, Los Alamos国家实验室的研究人员利用 68台Linux单机搭建了一个并行计算系统,用它来模拟原子弹爆炸的冲击波。 与其它超级计算机不同的是,用Linux搭建的集群计算机非常便宜。 这种DIY出来的超级计算机只花费2,000,连人工(连接68台PC的线缆) 都包括了。这价格只是同级别商业机的十分之一。 它的峰值计算速度可达每秒19万亿 (billion)次。 在世界超级计算机排行榜中它排在第315位。 它运行稳定可靠。三个月后,还不必重启动
今天,Linux最大的优势就是推动它前进的巨大开发热情。一旦有新硬件问世, Linux内核就能快速被改进以适应它。比如, Intel Xeon微处理器才问世几个星期,Linux新内核就跟上来了。 它还被用在了Alpha、MAC、PowerPC上。 甚至在手掌机这一少人问津的领域都可以运行Linux。 正如它在1991年诞生时那样, Linux正以同样的热情阔步走向新世纪。
至于Linus本人,他保持着简单的生活。不象比尔盖茨, Linus不是亿万富翁。 完成学业之后,他移居美国,在Transmeta公司找了个工作。 Transmeta公司在指导完成了一个绝密项目的研发之后, 推出了自己的Crusoe处理器。Linus是这个研发小组中活跃的一员。 最近,他和Tove结了婚,生了个女儿,取名 Patricia Miranda Torvalds。 世界范围内的计算机社区都对Linus推崇备至,到目前为止, 他是我们这个星球上最受欢迎的程序员。
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 //所用使用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 - 实现文本到语音的语音合成转换
Linux命令行中p参数的使用linuxp怎么用
p参数用于表示“管道”,它是Linux中最基本的命令行操作,主要用于将多个命令按照一定的流程顺序进行执行。具体使用方法:例如,可以使用p参数将两个命令按照先后顺序执行,比如:ls | wc -l 这段代码是将ls命令和wc -l命令连接在一起,通过p参数,先执行ls输出的内容,再将内容传输到wc -l命令,输...
p , l, c, d, s符号在LINUX下代表什么文件?
d:表示是一个目录(directory),事实上在ext2fs中,目录是一个特殊的文件。-:表示这是一个普通的文件。l: 表示这是一个符号链接(symbol link)文件,实际上它指向另一个文件。b、c:分别表示区块(block)设备和字符(character)设备,是特殊类型的文件。s、p:这些文件关系到系统的数据结构和管道...
linux 中read命令后面-p是什么意思呢
p是prompt的缩写,即由这个开关项给出提示信息,例如 read -p 'please input you choice:\\n' choice 回车后屏幕会显示:please input you choice:那么之后你输入的东西就会被保存到choice变量中了 另外,read是bash的内建命令,这些选项的作用都可以通过man命令获得的 ...
LINUX 操作系统的mkdir -p的p什么意思,哪个单词?
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
linux-p是什么意思
linux-p是向上级目录递归的意思。这是prompt的缩写,由这个开关项给出提示信息。
linux 语言中 ssh -p啥意思
在Linux语言中,SSH(Secure Shell)是一种用于远程登录和管理服务器的安全协议。当你使用ssh命令来连接到远程主机时,-p选项起着至关重要的作用。这个选项后面紧跟着的是远程主机上SSH服务监听的端口号。默认情况下,SSH服务通常在22端口运行,如果你知道这个默认端口,那么在执行ssh命令时,可以省略-p,...
linux里面 -p英语全称是什么?
port:端口,带参数 protocol:写一遍,带参数 passwd:密码,带参数
Linux里面sysctl -p命令作用是什么?
Linux系统中,sysctl命令发挥着关键作用,它是一种动态调整内核运行参数的工具。这些参数主要存储在"\/proc\/sys"目录下,以"sysctl [参数] 参数"的形式呈现。其中,"p"参数尤为重要,它的功能在于从配置文件"\/etc\/***.conf"中读取并应用内核参数设置,使得系统可以根据需要实时优化其运行效率和行为。换...
Linux中的drwxr-xr是什么意思
意思是:d表示它是目录文件,rwx表示文件所有者权限是可读可写可执行,r-x表示的是本组用户是可读不可写可执行,-xr表示的是其他用户是不可读可写可执行的。
linux中lamp lnmp 具体指的是什么
1.LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行php的脚本语言。2.和LAMP不同的是LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)其他都一样。-- 摘自《跟阿铭学linux(第2版)》...
集底复方: lib文件 一般来说,库文件有两种:动态库和静态库. 1.动态库 动态库(也叫共用库)是编译好的代码片段,在程序执行时由运行时连接文件(runtime linker)/lib/ld.so加载.这有点类似于windows下的dll文件.在提高效率方面,这样做可以节省...
柳河县17748182755: lib是什么 - ?
集底复方: .lib是一种文件名后缀 该文件为Windows操作系统中的库文件,相当于Linux中的.a或.o、.so文件.
柳河县17748182755: LINUX的各分区作用是什么?比如/、/home、/boot、/root等… - ?
集底复方: /bin bin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp、ls、cat,等等. /boot 这里存放的是启动Linux时使用的一些核心文件. /dev dev是device(设备)的缩写.这个目录下是所有Linux的外部设...
柳河县17748182755: linux下线程pthread编译时为什么要加lpthread - ?
集底复方: shibixiao | 六级 lpthread是表示要连接到pthread的库是这里省略的lib,你应该可以找到共享库libpthread.so的 因为pthread编程用到的函数在pthread库里面,就像你使用pow等数学计算函数,需要用到math.h 需要 -lm
柳河县17748182755: 在linux中 下面的文件夹分别是什么意思 - ?
集底复方: 哦,说一下 bin : 默认程序安装目录 跟win下的C:/program 类似 boot : 系统启动用到的东西都在这里 启动的配置文件 以及 内核镜像 dev :设备节点文件 linux所有的硬件最后用户看到的都还是文件 ,一般称为设备文件 etc : 系统的一些配置文件存在这里 home:用户的家目录 ,跟win下的D盘有点类似 lib : 库文件的存放地 media :系统自动挂载设备会选择的地方 mnt :手动挂载时候,喜欢选择的地 有不懂的再说额
柳河县17748182755: 如何检查linux上安装lib是否齐全 - ?
集底复方: 1、操作系统级别的共享库和基础的系统工具库 比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会有/lib64和/usr /lib64目录.如果操作系统带有图形界面,那么还会有/usr/X11R6/lib目...
柳河县17748182755: linux中的动态链接库,和静态链接库是干什么的? - ?
集底复方: 动态库和静态库都是一组函数集合,打包在一起供应用程序调用,区别是: 静态库名称一般为xxx.a,在编译时和应用程序链接在一起,这样的应用程序占用空间较大. 动态库名称一般为xxx.so,对于动态库即可以在编译时链接,也可以使用dlopen()/dlsym()/dlclose()函数在运行时调用,后种方式占用空间较小,且可以实现动态库在进程间共享,只在内存中保留一份,减少了内存开销.
柳河县17748182755: linux系统中没有USB驱动怎么办? - ?
集底复方: 需要重新编译内核
柳河县17748182755: 简述linux系统中以下的主要内容是什么? - ?
集底复方: linux 常用目录的作用和存放的内容:/bin 存放使用者最长用的命令,如:cp、ls、cat,等等. /boot 启动linux时使用的一些核心文件. /dev 是device(设备)的缩写,这个目录下是所有linux的外围设备./etc 这个目录用来存放系统管理所需要的...
柳河县17748182755: Linux应用程序中包括哪些类型的文件 - ?
集底复方: 一般情况 配置文件 在 /etc /usr/local/etc 库文件 /lib /usr/lib /usr/local/lib 可执程序 /bin/ /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin 头文件在 /usr/include 文档和其它文件 /usr/share /usr/local/share