- 博客(13)
- 资源 (5)
- 收藏
- 关注
转载 可重入函数、线程安全函数、异步信号安全函数
可重入与异步信号安全 一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误。 《多线程编程指南》中定义,可以被信号控制器安全调用的函数被称为"异步信号安全"函数。 因此,我认为可重入与异步信号安全是一个概念。 有人将可重入函数与线程安全函数混为一谈,我认为是不正确的
2010-03-09 10:57:00 1016
转载 可重入函数与不可重入函数
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中
2010-03-09 10:32:00 456
转载 windows消息分流器
很好理解,windows操作系统使用消息处理机制,那么,我们所设计的程序如何才能分辨和处理系统中的各种消息呢?这就是消息分流器的作用.简单来说,消息分流器就是一段代码,在我的讲述中,将分7重来循序渐进的介绍它.从最初的第1重到最成熟的第7重,它的样子会有很大的变化.但,实现的功能都是一样的,所不同的,仅仅是变得更加简练罢了.程序开始时候,会是main函数,然后会生成初始的窗口,同时会调用W
2010-03-05 15:28:00 501
转载 Oracle 数据库的绑定变量特性及应用
关键词:绑定变量(binding variable),共享池(shared buffer pool), SGA(system global area);在开发一个数据库系统前,有谁对Oracle 系统了解很多,尤其是它的特性,好象很少吧;对初学者来讲,这更是不可能的事情;仅仅简单掌握了SQL的写法,就开始了数据库的开发,其结果只能是开发一个没有效率,也没有可扩展的系
2009-12-29 13:50:00 491
转载 IT高人的情诗
我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了爱你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才
2009-12-22 01:22:00 444
原创 PL/sql学习
1、PLSQL块中直接嵌入SQL的SELECT语句取数据时,必须添加Exception,否则如果是多行数据 或者没有数据,就会报TOO_MANY_ROWS或 NO_DATA_FOUND错误并最终传递到环境中 WHERE子句中使用变量时须注意变量名不能与列名相同,否则会触发TOO_MANY_ROWS例外2、SQL游标属性(SQL%FOUND,SQL%NOTFOUND,SQL%RO
2009-12-17 16:53:00 473
转载 什么是lib文件,lib和dll的关系如何
(1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在
2009-12-08 16:12:00 591
原创 2009-11-25
1、静态成员变量为const int 型时,可以直接在类体中初始化 这个功能可以用在定义一个数组 Integral const static Members Are Special Ordinarily, class static members, like ordinary data members, cannot be initialized in the
2009-11-26 09:23:00 341
原创 2009-11-24
1、Never Return a Reference to a Local Object Theres one crucially important thing to understand about returning a reference: Never return a reference to a local variable. Eg : // Di
2009-11-25 09:10:00 554
原创 2009-11-23
1、Try Catch 过程 try{ throw runtime_error(""); cout } catch (runtime_error err) { } 当执行完Try块的Throw,跳到Catch执行后,程序控制不会返回到throw的下一条语句, 而是执行Try块的下一条语句
2009-11-24 09:18:00 398
转载 堆和栈的区别
一个由c/C++编译的程序占用的内存分为以下几个部分 :1、栈区(stack) —— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) —— 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似
2009-11-20 09:42:00 383
原创 2009-11-19
1、使用 new 分配内存时,如果是Class类型则会调用其构造函数初始化,如果是内建类型,则不会进行初始化 可以使用如下方式初始化内建类型 int *pia2 = new int[10] (); // array of 10 uninitialized ints2、Dynamic Arrays of const Objects (动态分配COnst 类型的数组) I
2009-11-20 09:40:00 365
原创 2009-11-18
1、for循环条件比较 初始化为0,使用 != 最终结果2、容器长度 使用 Size 方法取容器长度,这是C和c++中不同的一点(c++有内联函数)3、const_iterator Each container type also defines a type named const_iterator, which should be used whe
2009-11-19 01:53:00 547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人