![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础理论
tinggoxiao
这个作者很懒,什么都没留下…
展开
-
《代码揭秘》阅读有感一
2009-10-17《代码揭秘》阅读有感一今天,《代码揭秘》看到了一百多页。长久以来零零碎碎的在补习软硬件衔接处的计算机知识,这其中所涉及到的有计算机的操作系统,有高级语言,更有计算机系统结构。但是长久以来都不知道怎样才算对于这方面学明白了。其实这也很难验证,因为如果要验证的话要么编写一个操作系统,其他别无他法。我想自己编写一个小型操作系统到底干不干还很难说的清楚,但是补习这门课程是一...2009-10-17 22:36:26 · 113 阅读 · 0 评论 -
Win32多线程学习之一(CriticalSection和Mutex)
最近学习多线程编程,并且以Win32作为实验平台,看了点东西感觉应该稍微有所实践。因此拿了哲学家进餐问题作了实验品,以来检验最近学习CriticalSection和Mutex的成果哲学家进餐问题我做了稍微的简化,没有什么左边一个筷子和又边一个筷子。全部简化为总共6根筷子和六个傻冒哲学家,然后大家一起米西米西。任务目标1.模拟死锁的发生2.用CriticalSection...原创 2011-09-19 23:28:28 · 150 阅读 · 0 评论 -
深入理解C++中多态的实现
对于C++中多态性是面向对象中很重要的特性之一,每种面向对象的语言对于多态的实现都不尽相同。最近,学习中发现一段既陌生又熟悉的代码,大致情况如下#include [code="C++"]#include using namespace std;class BaseClass{public: virtual void Display() ...原创 2010-12-22 22:29:26 · 113 阅读 · 0 评论 -
[转]追MM与Java的23种设计模式
追MM与Java的23种设计模式 创建型模式 1、FACTORY―追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可...原创 2010-09-19 21:21:46 · 104 阅读 · 0 评论 -
关于C++引用类型变量
随着设计模式的学习和实践,C++中引用的使用愈发平凡。但是C++中引用类型变量到底是什么东西,这种变量与Java C#中的引用值有什么区别和联系,直到今日才有所了解。这一切都出自于一次偶然的发现。由于过去长期使用Java这种没有指针的语言,其引用值的概念早就深入人心。我们知道,当有如下代码时,其实相当于什么都没做。[code="java"]void function (Object...2010-09-05 12:01:30 · 159 阅读 · 0 评论 -
深入理解计算机系统验证代码1
[code="C++"]/* 此程序测试了深入理解计算机系统中的 1. Intel是小端计算机 2. 有符号数是算术移位 3. 无符号数是逻辑移位*/#include using namespace std;/* C++版本输出任何一种类型的二进制 */void showByte(char *a,int size){ fo...原创 2010-01-23 21:35:59 · 123 阅读 · 0 评论 -
C++编译、链接过程
C++程序从编译到链接然后再到调用的整个过程如下。只是个人最近观点,希望能与志同道合的同学一起讨论。注:这里只是研究C++的主流编译过程,与Java没有任何关系,因为使用的技术完全不一样(Java是编译和解释结合的语言)。并且由于不同的编译器厂商对于程序的编译过程不尽相同,但是主要流程还是一样的。其实长久以来我就一直很不清楚obj文件的内容到底是什么,有人说是汇编,有人说是机器...2009-07-30 23:10:46 · 115 阅读 · 0 评论 -
链接器都干了些什么
目前项目在不停的增长,我想还是在它规模仍旧很小的时候把它的模块分清楚,不同模块分到不同的 projects 里面,这里面出现了很多问题,也反映了我知识上的很多不足。 1 , project 最后的输出要设置清楚,有的是 static lib ,有的是 dll ,有的是 exe ,不一样的输出要设置好,它们都是 linker 的成果,但是以不同的方式应用。 2 , project d...原创 2009-07-27 00:13:07 · 101 阅读 · 0 评论 -
【转】拷贝构造函数和赋值函数的必要性和意义
引用链接:http://hi.baidu.com/%BF%AA%D0%C4de%B9%FB%D7%D3/blog/item/2ea64f318c4cd290a8018e75.html关于拷贝构造函数和赋值运算符2009-07-21 16:23关于拷贝构造函数和赋值运算符作者:冯明德重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。以下讨...2010-03-10 23:01:46 · 141 阅读 · 0 评论 -
程序中的堆和栈
[转载]栈和堆的区别信息来源:漓江夜话一个由 c/C++ 编译的程序占用的内存分为以下几个部分: 1 、栈区( stack )— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2 、堆区( heap )— 一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收。注意它与数据结构中的堆是两回事,分配方式倒是类...原创 2009-04-26 01:20:32 · 204 阅读 · 0 评论 -
Win32多线程学习之二(实现生产者与消费者模型)
[code="C++"]#include #include #include #include #include #include #define MUTEX(mutex) WaitForSingleObject(mutex, INFINITE);#define RELEASE_MUTEX(mutex) ReleaseMutex(mutex); #de...原创 2011-10-13 21:51:13 · 198 阅读 · 0 评论