- 博客(9)
- 资源 (9)
- 收藏
- 关注
原创 《C++高级编程》--错误处理
• 什么是异常?异常是一种机制,利用这种异常机制,一段代码可以通知另一段代码发生了一种“异常”情况或错误条件,而不能再沿着正常代码的路径前进。• C中的错误处理C错误处理的标准就是使用整型的返回码和errno宏来通知程序出现了错误;许多C++程序也沿承了这种方法。但是,在不同的程序中,返回码和errno或许并没有一致的规范,即同样的数据可能代表不同的意义,这往往会导致错
2011-06-17 23:05:00 1149 1
原创 《C++高级编程》--揭开I/O的神秘面纱
一个好的I/O系统应该很灵活,而且易于使用。要做到灵活,就是要提供多态性,灵活的I/O系统支持通过多种设备的输入输出,比如文件和用户控制台;另外,好的I/O系统也应该提供错误处理功能。• 什么是流更一般的观点是,所有的流都可以看做是数据的清洗槽。不同的流只是方向以及与之关联的源和目的有所不同。每个输入流都有一个相关联的源;每个输出流都有一个相关联的目的。在C++
2011-06-17 23:03:00 939
原创 《C++高级编程》--有效的内存管理
1、在程序中使用动态内存有两个主要优点:• 动态内存可以在不同的对象与函数之间共享• 动态分配的内存空间大小可以在运行时确定2、malloc、free和new、delete• malloc和new的最大区别在于,new不仅会分配适当的空间,同时还会正确的构造对象;class Foo;Foo* myFoo=(Foo*)malloc(sizeof(Foo));Foo*
2011-06-17 23:01:00 945
原创 小记:其他函数中堆/栈分配的内存在本函数中不可用---错误举例
#include using namespace std;void test( int* ptr ) { int* tempptr=new int; *tempptr=15; ptr=tempptr; return; }int main( ) { int* ptr;
2011-06-14 23:46:00 1904 7
原创 Linux共享内存编程实例
/*共享内存允许两个或多个进程进程共享同一块内存(这块内存会映射到各个进程自己独立的地址空间) 从而使得这些进程可以相互通信。 在GNU/Linux中所有的进程都有唯一的虚拟地址空间,而共享内存应用编程接口API允许一个进程使 用公共内存区段。但是对内存的共享访问其复杂度也相应增加。共享内存的优点是简易性。 使用消息队列时,一个进程要向队列中写入消息,这要引起从
2011-06-04 15:44:00 32943 5
原创 Linux旗语编程实例
/*旗语是一个受保护的变量。对两个或多个进程共享的资源,它可以提供限制访问的方法。 Linux的旗语就是操作系统原理中的信号量,有PV操作。可以获得和释放旗语; 释放旗语会自动唤醒下一个等待获取旗语的进程。 旗语有两种类型: 二进制旗语:代表单个资源 计数旗语:用来代表数量大于一的共享资源 GNU/Linux中的旗语实际上是一个旗语数组。说是一个旗语
2011-06-03 13:27:00 2181
原创 Linux消息队列编程实例
/* 创建消息队列msgget( ) 调整消息队列的参数msgctl(msgid,IPC_SET,struct msqid_ds* ) 发送一条消息msgsnd( ) 接受一条消息msgrcv( ) 移除一条消息msgctl( msgid,IPC_RMID,NULL ) *//*创建一个消息队列,并调整其大小,发送一条消息 再取出该条消息,最
2011-06-03 13:23:00 1456
原创 Linux线程编程实例
<br /><br />/* 2.4GNU/Linux内核的POSIX线程库基于Linux进程实现(于1996年问世),在GNU/Linux进程模型的基础上构建的。 2.6内核使用了新的本地POSIX线程库,或称为NPTL(于2002年引入),比旧库有了很多改进,执行效率更高。 要想知道正在使用的是那个P(POSIX)线程库,可以使用如下命令: getconf GNU_LIBPTHREAD_VERSION 自己使用的为:NPTL 2.13.90 线程和进程的区别:
2011-06-01 22:50:00 917
原创 Linux进程编程实例
<br /><br />/*GUN/Linux进程有两种基本类型:内核线程和用户进程(注意一个是线程一个是进程)。 用户进程由fork()和clone()创建。内核线程是由内核中的kernel_thread()创建。 使用fork()创建子进程的时候,系统为它复制了父进程使用的内存部分映像,但是开始时他们都指向同一块内存, 但是把内存页面标记为copy-on-write。当任何一个进程试图向这些内存中写入数据时,就会产生一组新的内存页面由这个进程私有。 这提高了创建新进程的效率,因为
2011-06-01 22:44:00 707
IP地址CIDR斜线记法求子网信息软件(vs2010+MFC)
2010-10-28
Visual_Assist_X_2010_10.6.1819
2010-10-18
计算器(采用MFC编写)
2010-10-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人