上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 63 下一页
摘要: Physical memory、Pagefile和进程地址空间的关系--搞搞清爽啦! 当用户进程中的一个线程试图访问进程的地址空间中的一个数据块的时候。一般会发生两种情况: 1. 线程试图访问的数据是在RAM中,则cpu只需要将虚拟地址mapping到内存的物理地址中,然后执行需要的访问。 2. 数据不在RAM中,而是放在页文件的某个地方。这时候,访问引起页面失效,cpu将通知操作系统,操作系统... 阅读全文
posted @ 2008-06-27 23:36 能巴 阅读(273) 评论(0) 推荐(0)
摘要: 1. 反转一个string const int SIZE = 100; char a[SIZE]; cin.getline(a, SIZE); size_t nChar = strlen(a); char chTmp; for(size_t i = 0, j = nChar-1; i < j; ++i, --j) { chTmp = a[i]; a[i] = a[j]; ... 阅读全文
posted @ 2008-06-27 16:22 能巴 阅读(230) 评论(0) 推荐(0)
摘要: string strValue; // STL string. cin >> strValue; strValue.replace(strValue.begin(), strValue.end(), strValue.rbegin(), strValue.rend()); cout << strValue; Please learn STL in deep! 阅读全文
posted @ 2008-06-27 15:58 能巴 阅读(402) 评论(0) 推荐(0)
摘要: Q: 我们需要在Dll中new一个class或者struct的实例,通过接口把这个实例传给了主程序(调用dll的程序),最后这个实例的释放(delete)是由主程序来执行的,这时我们的问题出现了,vs.net抛出一个debug模式下的异常,是在delete函数中。后来我试了另外一种情况,即在主程序中new的实例在dll中delete也会有相同的问题。哪位大侠知道为什么? ... 阅读全文
posted @ 2008-06-15 23:10 能巴 阅读(2060) 评论(0) 推荐(0)
摘要: 通常有compiler将其分解成为多步构造。 Constructor 被分解后应该是这样的: 1)对于一个most derived类,初始化vbptr,并调用virtual base 的构造函数。 2)调用non-virtual base classes 的构造函数。 3)调用data members的构造函数 4)初始化vfptr。 5)执行用户写在constructor中的代码。 Des... 阅读全文
posted @ 2008-06-15 22:22 能巴 阅读(209) 评论(0) 推荐(0)
摘要: 在构造和析构期间不要调用虚函数,因为这样的调用不会匹配到当前执行的构造函数或析构函数所属的类的更深的派生层次。 假设你有一套模拟股票处理的类层次结构,例如,购入流程,出售流程等。对这样的处理来说可以核查是非常重要的,所以随时会创建一个 Transaction 对象,将这个创建记录在核查日志中是一个适当的要求。下面是一个看起来似乎合理的解决问题的方法: ... 阅读全文
posted @ 2008-06-15 22:05 能巴 阅读(268) 评论(0) 推荐(0)
摘要: 编译器调用虚拟函数的汇编码(参考think in c++): push funparam ;先将函数参数压栈 push si ;将this指针压栈,以确保在当前类上操作 mov bx,word ptr[si] ;因为vc++编译器将vptr放在类的第一个位置上,所以bx内为vptr call word ptr[bx+n] ;调用虚拟函数。n = 所调用的虚拟函数在对应 vt... 阅读全文
posted @ 2008-06-15 21:51 能巴 阅读(225) 评论(0) 推荐(0)
摘要: 在C++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联涵数。 在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来进行替换。 inline函数在被调用的地方,实际上是把函数体的代码部分重复了一遍,而不是象普通函数那样将参数压栈,然后call ....,这样做可以减少函数的调用时间,提高程序执行的效率,但是如... 阅读全文
posted @ 2008-06-11 23:57 能巴 阅读(1019) 评论(0) 推荐(0)
摘要: 程序员们在这等待编译链接项目的8分钟内无所事事,只有查看网页,或者qqmsn,打断先前的思路从他们的上下文环境里面脱离了出来,离开了“顺势工作时间”,等到他们编译好了验证再修改的时候,他们又得花不少的时间来回到刚才的思路。 “顺势工作时间”大致意思就是说2个不连续的半小时的效果远不如一个连续沉浸的1小时的工作效果,如果一个人不能连续沉浸的思考,那么他就很可能陷入在不停的上下文环境切换和浅表思考当... 阅读全文
posted @ 2008-06-11 21:59 能巴 阅读(247) 评论(0) 推荐(0)
摘要: tlb文件:com类型库文件。在需要使用对应com类的模块里,“#import ...*.tlb”使用之。 tlh、tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件。因为odl和tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用。相信vb和j++也会把tlb翻译成自己语言兼容的类型描述信息。tlh相当于类型申明(头文件),tli相当于定义实... 阅读全文
posted @ 2008-06-09 21:53 能巴 阅读(18183) 评论(0) 推荐(0)
上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 63 下一页