Linux编程开发
Linux给我们提供了丰富的内部进程通信机制,包括共享内存、内存映射文件、先入先出(FIFO)、接口(sockets)以及多种用于同步的标识。在本文中,我们主要讨论一下共享内存和内存映射文件技术。
一般来说,内部进程通信(interprocess communication)也就是IPC,是指两个或两个以上进程以及两个或者两个以上线程之间进行通信联系。每个IPC机制都有不同的强
一般来说,内部进程通信(interprocess communication)也就是IPC,是指两个或两个以上进程以及两个或者两个以上线程之间进行通信联系。每个IPC机制都有不同的强
(2007-02-09) [查看全文]
本文列出了Linux主要的实用数据结构。
block_dev_struct
此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。
struct blk_dev_struct {
void (*request_fn)(void);
struct request * current_request;
struct request plug;
struct tq_struct plug_tq;
};
b
(2007-02-09) [查看全文]
Web 2.0 引入了 Rich Internet Application。但 Rich Internet Application 的含义是什么?通常,它意味着向应用程序中添加具有高度响应能力的交易操作。具体来说,它意味着可以即时更改页面中的小部件、Web 表单和报告,而无需从服务器中检索新页面。
一种用于构建 Rich Internet Application(RIA)的方法就是使用动态 HTML(Dynamic HTML,DHTML),它是 Ajax、Java
一种用于构建 Rich Internet Application(RIA)的方法就是使用动态 HTML(Dynamic HTML,DHTML),它是 Ajax、Java
(2007-02-09) [查看全文]
不知道在什幺时候,Linux 出现了 module 这种东西,的确,它是 Linux 的一大革新。有了 module 之后,写 device driver 不再是一项恶梦,修改 kernel 也不再是一件痛苦的事了。因为你不需要每次要测试 driver 就重新 compile kernel 一次。那简直是会累死人。Module 可以允许我们动态的改变 kernel,加载 device driver,而且它也能缩短我们 driver development 的时间。在这篇文章里,我将要跟各位介绍一
(2007-02-09) [查看全文]
你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所需要知道的所有知识。本文也尝试解释社区为什么这样工作的一些原因。
内核几乎全是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必须的,除非你准备做某个架构的底层开发。虽然下面这些书不能完全代替扎实的C语言教学和/或者
内核几乎全是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必须的,除非你准备做某个架构的底层开发。虽然下面这些书不能完全代替扎实的C语言教学和/或者
(2007-02-09) [查看全文]
看了LINUX代码,感觉其对内核内存的保护做得不是很好,还有感觉大家有些地方理解不对(主要是 LINUX的代码看起来的样子和实际的样子不太一样),所以谈谈我对LINUX系统内核空间的保护和用户空间与系统空间数据传递的代码看法。注意我说的都是I386体系结构,别的体系结构可以看相应的代码,不敢保证结果是否是如我所说。
LINUX建立进程的时候建立了两套段描述符,在文件Segment。h有说明。
#ifndef _ASM_SEGMENT_H
LINUX建立进程的时候建立了两套段描述符,在文件Segment。h有说明。
#ifndef _ASM_SEGMENT_H
(2007-02-09) [查看全文]
与 PostgreSQL 相似,可使用许多不同的语言来访问 MySQL,包括 C、C++、Java 和 Perl。从 Professional Linux Programming 中第 5 章有关 MySQL 的下列章节中,Neil Matthew 和 Richard Stones 使用详尽的 MySQL C 接口向我们介绍了如何在 MySQL 数据库中执行 SQL 语句。他们将讨论返回数据的语句,例如 INSERT 以及不返回数据的语句,例如 UPDATE 和 DELE
(2007-02-09) [查看全文]
来自 http://linux.chinaitlab.com
(2007-02-09) [查看全文]
通常,在软件包的 README 文件中只能找到非常简单的“编译说明:运行 configure,然后运行 make”。但是,这样行不通时怎么办?在本文中,Peter Seebash 讲述了当自动的配置脚本失效时应该如何去做——以及作为开发者您应如何尽量避免这种错误。毕竟,如果您的程序无法编译,其结果将和您的程序编译后不能运行一样,您的用户会减少。
(2007-02-09) [查看全文]
在这个日渐虚拟的互联网世界中,您必须小心保护自已的数据。本文将介绍编码和加密一些重要信息(比如密码、信用卡号、甚至整个消息)的基础知识。并通过使用 PHP 的内置功能,了解加密和解密信息的意义,并且将了解一些涉及密码和其他数据的实际示例。
(2007-02-09) [查看全文]
很多人对qmail smtp的认证机制,环境变量,执行顺序不太了解。
仔细看完这一大篇代码后相信你会明白很多你过去不太明白的问题。
当然你要有一点点c语言基础。也只要一点点。
Come from: ChongQing Gearbox co.,ltd
这份文件还不完善,如果您完善了它请发一份给我: beggar110@163.com
这份文件是给想深入了解qmail和想hacker qmail
仔细看完这一大篇代码后相信你会明白很多你过去不太明白的问题。
当然你要有一点点c语言基础。也只要一点点。
Come from: ChongQing Gearbox co.,ltd
这份文件还不完善,如果您完善了它请发一份给我: beggar110@163.com
这份文件是给想深入了解qmail和想hacker qmail
(2007-02-09) [查看全文]
linux.ccidnet.com
Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。
Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者是被你修
Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。
Linux内核源码是很具吸引力的,特别是当你弄懂了一个分析了好久都没搞懂的问题;或者是被你修
(2007-02-09) [查看全文]
作者:宋宝华出处:天极软件
阻塞操作是指,在执行设备操作时,若不能获得资源,则进程挂起直到满足可操作的条件再进行操作。非阻塞操作的进程在不能进行设备操作时,并不挂起。被挂起的进程进入sleep状态,被从调度器的运行队列移走,直到等待的条件被满足。
在Linux
阻塞操作是指,在执行设备操作时,若不能获得资源,则进程挂起直到满足可操作的条件再进行操作。非阻塞操作的进程在不能进行设备操作时,并不挂起。被挂起的进程进入sleep状态,被从调度器的运行队列移走,直到等待的条件被满足。
在Linux
(2007-02-09) [查看全文]
IBM中国软件开发实验室 龚奕平
移植是一项实现应用程序跨平台运行的核心技术,本文介绍了一种在Linux平台上实现Windows打印机管理的移植方法及具体实现细节。
移植是一项实现应用程序跨平台运行的核心技术,本文介绍了一种在Linux平台上实现Windows打印机管理的移植方法及具体实现细节。
(2007-02-09) [查看全文]
IBM中国软件开发实验室 龚奕平
移植是一项实现应用程序跨平台运行的核心技术,本文介绍了一种在Linux平台上实现Windows打印机管理的移植方法及具体实现细节。
移植是一项实现应用程序跨平台运行的核心技术,本文介绍了一种在Linux平台上实现Windows打印机管理的移植方法及具体实现细节。
(2007-02-09) [查看全文]
在 KDE 桌面背后,暗藏着一系列强大的脚本技术,可以让高级用户自动地完成很多任务。在本文中,Martyn Honeyford 向我们介绍了这些技术,并解释了如何才能让它们发挥最大作用。
(2007-02-09) [查看全文]
如果应用程序只使用标准语言构件和标准库,而且并不一定要在SPARC处理器上的SolarisS下运行,那么移植就相对容易一点。举例来说, Java 应用程序通常就属于这个范畴。另一方面,如果应用程序不使用Solaris上的POSIX服务的C程序,或者依赖于Linux上没有的第三方产品,那么移 植工作就困难多了。当移植应用程序时,很多情况下都是在将不可移植的方法和附属物替换成可移植性更好的东西。您会将Solaris构建工具替换成GNU工 具,并使用与POSIX相容的线程库代替Solaris
(2007-02-09) [查看全文]
原文:http://www.linux-ren.org/modules/newbb/viewtopic.php?topic_id=2185&forum=15
准备两个图,一个是要显示在窗体的图片,一个是蒙板,蒙板的黑色部分是要保留的,白色是要去掉的。
我准备了2张图,要显示的图片是"tmp.png",蒙板是"mask.png
准备两个图,一个是要显示在窗体的图片,一个是蒙板,蒙板的黑色部分是要保留的,白色是要去掉的。
我准备了2张图,要显示的图片是"tmp.png",蒙板是"mask.png
(2007-02-09) [查看全文]
由于Qt对不同平台的托盘需要不同的写法,国外网上流传着Qt3的托盘程序的多个平台实 现程序的源码,但其源码并不能直接拿来就用,使得初学者陷入困惑之中,而且感觉很多朋友对源码的交流是有保留的,至少对代码没有一定阅读能力和对编译报错 没有足够的理解经验的朋友来说是这样的。
我也不再另外提供Qt3的托盘源码,以下提供下载的Qt4托盘源码已经包含了国外开源爱好者提供的Qt3--win平台和linux平台的托盘源码,不能
我也不再另外提供Qt3的托盘源码,以下提供下载的Qt4托盘源码已经包含了国外开源爱好者提供的Qt3--win平台和linux平台的托盘源码,不能
(2007-02-09) [查看全文]
从GPL到商用版本,Linux CAD系统正在涌现,而且更多的产品和 项目处于开发之中。这多少体现出Linux的桌面应用正在走向扩展和成熟。
CAD是一种重要的计算机工程设计应用。在Linux平台上有较好的CAD 应用系统吗?这或许是许多工程设计人员对Linux的观望或者期望。这一问题的回答也多少能体现出Linux作为一种桌面应用的成熟程度。答案是令人高兴的,不仅有GPL方式发行的2-D CAD软件包Qcad,还有多款商业或公用的CAD系统;当然它们的性能和指标各不相同,并能满足不同的
CAD是一种重要的计算机工程设计应用。在Linux平台上有较好的CAD 应用系统吗?这或许是许多工程设计人员对Linux的观望或者期望。这一问题的回答也多少能体现出Linux作为一种桌面应用的成熟程度。答案是令人高兴的,不仅有GPL方式发行的2-D CAD软件包Qcad,还有多款商业或公用的CAD系统;当然它们的性能和指标各不相同,并能满足不同的
(2007-02-09) [查看全文]
使用 PHP V5 的新语言特性,可以明显地提高代码的可维护性和可靠性。通过阅读本文,您将了解如何利用这些新特性将用 PHP V4 开发的代码迁移到 PHP V5。
(2007-02-09) [查看全文]
本文 Shell 程序运行环境:程序运行环境 Redhat Linux As3GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)代码清单:shellcode.txt
(2007-02-09) [查看全文]
(2007-02-09) [查看全文]
/*******************************************************************本文首发于bbs.bluegem.org的CWorld区*本人e
(2007-02-09) [查看全文]
对于内存溢出之类的麻烦可能大家在编写指针比较多的复杂的程序的时候就会遇到。Debug起来也是比较累人。其实Linux系统下有一个使用的工具可以帮忙来调试的,这就是Mtrace。Mtrace主要能够检测一些内存分配和泄漏的失败等。下面我们来学习一下它的用法。
使用Mtrace来调试程序有4个基本的步骤,需要用到GNU C 函数库里面的一些辅助的函数功能。
使用Mtrace来调试程序有4个基本的步骤,需要用到GNU C 函数库里面的一些辅助的函数功能。
(2007-02-09) [查看全文]
|
gmail.com