2011年9月27日

百度笔试题:malloc/free与new/delete的区别

摘要: 相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之... 阅读全文

posted @ 2011-09-27 11:08 封起De日子 阅读(290) 评论(0) 推荐(0) 编辑

c++模板类学习

摘要: 1、模板的概念 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用重载函数。例如,为求两个数的最大值,我们定义MAX()函数需要对不同的数据类型分别定义不同重载(Overload)版本。 //函数1. int max(in... 阅读全文

posted @ 2011-09-27 11:07 封起De日子 阅读(112) 评论(0) 推荐(0) 编辑

位运算的应用和实例

摘要: 位运算应用口诀 清零取数要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 ">"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 ... 阅读全文

posted @ 2011-09-27 11:07 封起De日子 阅读(236) 评论(0) 推荐(0) 编辑

不用比较运算符及循环控制语句,判断int型的a、b两数的大小

摘要: 看到这个题目的时候,我当时想到的,就是首先进行a-b,然后判断最高的符号位是1还是0。。我想大家也都会想到这一点: view plain int max(int a, int b) { int max[2] = { a, b }; return max... 阅读全文

posted @ 2011-09-27 11:06 封起De日子 阅读(327) 评论(0) 推荐(0) 编辑

Linux环境进程间通信(一)——管道(pipe)和命名管道(fifo)

摘要: Linux环境进程间通信(一): 管道及有名管道 - - 管道及有名管道 在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允... 阅读全文

posted @ 2011-09-27 10:59 封起De日子 阅读(203) 评论(0) 推荐(0) 编辑

进程间的通信(ipc)

摘要: 前言,进程间的通信是C语言高级编程的重要部分,这一方面,我一直涉猎较少,此次在IBM Developer Works上看大这样一篇好文,藏下来,作为自己学习的初步材料!原作者是:郑彦兴 (mlinux@163.com)国防科大计算机学院。 序 linux 下的进程通信手段基本上是从Unix... 阅读全文

posted @ 2011-09-27 10:58 封起De日子 阅读(159) 评论(0) 推荐(0) 编辑

进程通信之信号

摘要: 一、信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异... 阅读全文

posted @ 2011-09-27 10:57 封起De日子 阅读(118) 评论(0) 推荐(0) 编辑

linux进程管理简析

摘要: Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。 在用户空间,进程是由进程标识符(PID)表示的。从用户的... 阅读全文

posted @ 2011-09-27 10:55 封起De日子 阅读(160) 评论(0) 推荐(0) 编辑

有名管道在无亲缘进程间的通信

摘要: 两个程序,一写一读,测试有名管道在无亲缘关系的进程间的通信: 读管道程序: 引用 #include #include #include #include #include #include #define FIFO_NAME "myfifo" #define ... 阅读全文

posted @ 2011-09-27 10:47 封起De日子 阅读(173) 评论(0) 推荐(0) 编辑

有名管道的创建与读写

摘要: 创建有名管道有两种方式: 一是在 shell 下交互地建立一个有名管道,二是在程序中使用系统函数建立有名管道。shell 方式下可使用 mknod 或 mkfifo 命令,下面命令使用 mknod 创建了一个有名管道: mknod namepipe 创建有名管道的系统函数有两个... 阅读全文

posted @ 2011-09-27 10:47 封起De日子 阅读(870) 评论(0) 推荐(0) 编辑

一个简单的聊天程序--命名管道FIFO

摘要: 本程序是一个使用FIFO进行进程间通信的典型程序lucy.c创建了FIFO write──fifo用于向程序peter.c发送信息:程序创建了FIFO read-fifo,用于向lucy.c发送消息。编译本程序,先运行peter.c再运行lucy.c就可以了。 源程序如下: //filename... 阅读全文

posted @ 2011-09-27 10:45 封起De日子 阅读(282) 评论(0) 推荐(0) 编辑

Linux内核中无名管道pipe和有名管道fifo的分析

摘要: 1、管道(pipe) 管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道... 阅读全文

posted @ 2011-09-27 10:44 封起De日子 阅读(477) 评论(0) 推荐(0) 编辑

Linux内核的Oops

摘要: 什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。 在Linux内核开发中的Oops是什么呢?其实,它和上面... 阅读全文

posted @ 2011-09-27 10:39 封起De日子 阅读(158) 评论(0) 推荐(0) 编辑

Ubuntu 内核转储工具

摘要: 在我的上一篇博文《Linux 内核的Oops》的最后介绍到一个Linux内核转储工具Kdump,这个工具可以在发生kernel panic时把现场dump到一个文件里,以供后续分析之用。本文主要介绍在Ubuntu下如何使用kdump。 Kdump是一个通用的Linux内核转储工具,详细的... 阅读全文

posted @ 2011-09-27 10:38 封起De日子 阅读(239) 评论(0) 推荐(0) 编辑

多线程和多进程的区别

摘要: 很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。 今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发? 这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来... 阅读全文

posted @ 2011-09-27 10:26 封起De日子 阅读(125) 评论(0) 推荐(0) 编辑

导航