- 博客(27)
- 资源 (2)
- 收藏
- 关注
转载 为什么硬链接不能指向目录
<br /> linux系统中的硬连接有两个限制:不能跨越文件系统和不允许普通用户对目录作硬连接。至于第一个限制,很好理解,而第二个就不那么好理解了。 我们对任何一个目录用ls -l 命令都可以看到其连接数至少是2,这也说明了系统中是存在硬连接的,而且命令ln -d 也可以让超级用户对目录作硬连接,这些都说明了系统限制对目录进行硬连接只是一个硬性规定,并不是逻辑上不允许或技术上的不可行。那么操作系统为什么要进行限制呢?答案可能有两个。<br /><br /> 先来说第一个,如果引
2010-08-16 22:53:00 533
转载 显式调用析构函数
<br />1。显式调用的时候,析构函数相当于的一个普通的成员函数<br />2。编译器隐式调用析构函数,如分配了对内存,显式调用析构的话引起重复释放堆内存的异常<br />3。把一个对象看作占用了部分栈内存,占用了部分堆内存(如果申请了的话),这样便于理解这个问题<br /> 系统隐式调用析构函数的时候,会加入释放栈内存的动作(而堆内存则由用户手工的释放)<br /> 用户显式调用析构函数的时候,只是单纯执行析构函数内的语句,不会释放栈内存,摧毁对象<br />原文地址:http://
2010-07-24 23:03:00 450
转载 C++中的位拷贝和值拷贝
<br />转个文章<br /><br />C++中的位拷贝(bitwise copy/浅拷贝)和值拷贝(memberwise copy 深拷贝)<br />abc2001 发表于 2008-1-16 12:18:00<br />0<br />推荐<br /><br />为了便于说明我们以String类为例:<br /><br />首先定义String类,而并不实现其成员函数。<br /><br />Class String{<br />public:<br /> String(const char *c
2010-07-23 17:46:00 393
原创 是使用include包含,还是使用类型声明
<br />我的理解是声明自定义类型栈成员变量时,需要在头文件中包含该自定义类型的头文件(栈成员变量的对象在类构造时候必须参与构造)。声明自定义类型堆成员变量时,只需要提供自定义类型名称的定义即可(堆成员变量的对象是动态创建的,只要在为它分配内存时编译器能够确定其大小即可)
2010-07-22 22:18:00 410
原创 const类型变量的内存分配
<br />如果是局部自动变量 加了 const 只是起了个标记的作用,变量还是分配在栈区 <br />如果是全局变量,就会分配在只读数据段,也就是常量区 <br />程序验证如下: <br /> <br />#include <iostream> <br />using namespace std; <br /><br />const int g_c = 0; //如果是global变量的话确实是分配在常量区 <br />int g_a; <br />int main() <br
2010-07-19 10:27:00 1681
转载 好文转载:回调函数
调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。 CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在火与车轮之后,笔者当推压栈调用。?? ? ?话虽这样说,此调用机制并非完美。回调函数就是一例。函数之类本是为调用者
2010-06-05 16:51:00 328
转载 static关键字
<br />1)什么是堆 <br />2)什么是栈(这个问题好懂,可以不答) <br />3)什么是静态数据区 <br />4)它们有什么区别? <br /><br />--------------------------------------------------------------- <br /><br />static用来控制变量的存储方式和可见性。 <br /> 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉
2010-05-31 22:32:00 273
转载 集成软件开发环境WipeOut
“Linux 公报...让 Linux 更富魅力!” --------------------------------------------------------------------------------集成软件开发环境WipeOut作者 Gerd Mueller 译者 sams---------------------------------------------
2010-05-10 09:48:00 731
转载 什么是系统调用
系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再
2010-04-27 22:07:00 747
转载 进程PID、线程ID、实例Instance、句柄Handle的关系及App.hInstance 的用途
Q:《深入简出MFC》p91下面有这么一句话 InitApplication和InitInstance现在成为MFC的CWinApp的两个虚函数,前者负责 “每一个程序只做一次”的操作,后者负责“每一个例程都得做一次”的操作 A:“每一个程序”指的是进程的概念。“每一个例程”指的是线程的概念。 所以InitApplication负责“每一个程序只做一次”的操作。
2010-04-16 16:20:00 3903
转载 进程与线程、应用程序域关系
引文地址:http://www.microblue.com.cn/it/17441.html进程由操作系统创建、管理的,离开了操作系统也就不谈什么进程了,先看看操作系统的四个基本特征: 并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的; 并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。 在多道程序环境
2010-04-15 18:40:00 518
原创 字符转换
CString,int,string,char*之间的转换string 转 CString CString.format("%s", string.c_str());char 转 CString CString.format("%s", char*);char 转 string string s(char *);string 转 char * char *p = string.c_str(
2010-04-14 10:19:00 354
转载 MFC消息映射机制
原文地址:http://www.gisbase.cn/chxnews.asp?id=843 一 MFC中采用的这种消息处理机制成为 MFC消息映射机制 一个MFC消息响应函数在程序中有三处相关信息:函数原型,函数实现,关联消息和消息响应函数的宏。函数原型——头文件CDrawView——两个AFX_MSG注释宏之间——消息响应函数原型的声明 —— afx_msg void
2010-04-02 17:54:00 448
转载 VS2008与VC6.0的变化
原文地址:http://kmplayer.javaeye.com/blog/584894 1.MessageBox() VC++6.0:MessageBox("Hello,World!"); VS2008:MessageBox(L"Hello,World!"); 或 MessageBox(TEXT("Hello,World!")); 2.Combo box内容添加方法 VC++6.0:Dr
2010-04-02 16:47:00 897
转载 Windows对象、句柄与MFC对象
Windows对象是以句柄来标识的,对应的MFC类就是这些句柄的C++包装。内存中的Windows对象一定有唯一的句柄来标识,但不一定有对应的MFC类对象在内存中。当需要获取Windows对象的对应MFC类对象而内存中又没有此对象时,系统会创建一个临时MFC类对象返回给用户,并在之后某个空闲时刻进行回收。 Windows对象句柄及其对应的MFC类如下表所示:HWND
2010-04-02 16:15:00 477
转载 ProcessShellCommand(cmdInfo)函数功能
本文链接:http://user.qzone.qq.com/278288976/blog/1196240170 ProcessShellCommand()在我们用向导创建MFC应用程序时,在App::InitInstance()中总会出现下面这样的代码到底是什么意思呢,我差了很多资料终于使其漏出庐山真面目。 CCommandLineInfo cmdInfo;//定义命令行 ParseComma
2010-04-01 23:38:00 358
转载 转:5分钟搞定内存字节对齐
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一
2010-03-31 18:01:00 364
转载 好文转载:对_stdcall 的理解
原文地址 http://http://www.cublog.cn/u/18338/?u=http://www.cublog.cn/u/18338/showart.php?id=113993 在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可
2010-03-30 15:26:00 338
转载 C++ 运算符优先级列表
http://www.cppreference.com/operator_precedence.html PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember ac
2010-03-30 10:41:00 282
转载 好文转载:C++虚函数表
原文地址:http://blog.csdn.net/haoel/archive/2007/12/18/1948051.aspx C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:
2010-03-29 18:07:00 342
转载 好文转载:C# vs C++之一:委托 vs 函数指针
原文地址:http://www.evget.com/zh-CN/Info/catalog/12244.html委托与函数指针辨析我们常见到C#技术文献用“类似C/C++函数指针的东西”介绍委托。这样好像是有道理的,因为二者的确有深层次的相通之处。委托和函数指针都描述了方法/函数的签名,并通过统一的接口调用不同的实现。但二者又有明显的区别,简单说来,委托对象是真正的对象,而函数指针变量只
2010-03-29 09:26:00 806
转载 好文转载:成员函数指针与高性能的C++委托
原文地址:http://hi.baidu.com/pocgo/blog/item/1555760a42b33c1394ca6b0f.html【上篇】标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包 (closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值。在Delphi (Object Pa
2010-03-28 23:41:00 481
转载 好文转载:函数对象
原文地址:http://www.cnblogs.com/ly4cn/archive/2007/07/21/826885.html 函数对象不是函数指针。但是,在程序代码中,它的调用方式与函数指针一样,后面加个括号就可以了。 这是入门级的随笔,说的是函数对象的定义,使用,以及与函数指针,成员函数指针的关系。 沐枫小筑函数对象实质上是一个实现了operator()--括号操作符--的类。例
2010-03-26 22:40:00 223
转载 转载:如何使用 类进行文件的 I/O 处理
原文出处:How to Use Classes for File I/O摘要:传统的文件 I/O 库如 Unix 的 和 ,由于其程序接口的原因,在很大程度上强制程序员进行某些处理,缺乏类型安全和国际化支持。C++ 的 库则在文件的 I/O 方面提供了一个增强的、面向对象的、具有国际化意识的库。本文将介绍如何使用这个库进行文件的 I/O 处理并利用它来编写易于跨平台的代码。
2010-03-26 19:32:00 310
转载 转载:c++文件打开和关闭
一般使用fstream 类中所定义的成员函数 open( )和 close( )。 fstream outfile; 定义一个fstream类的对象 outfile.open("f1.txt", ios::out); 或者 fstream outfile("f1.txt", ios::out); in 以输入(读)方
2010-03-26 16:51:00 1444
原创 重载箭头操作符
C++primer中重载箭头操作符部分看得有点云里雾里的。经过反复测试,有了点眉目,为了避免自己忘掉,记下现在的心得。因为自己比较懒,就直接把代码和注释贴过来。//////////////////////////// -----NoName.h---- //////////////////////////////////////////////#pragma once#include"Sc
2010-03-25 23:04:00 747
转载 [转]C++中的指针--智能指针
Smart Pointer是C++中的一个大题目,要说清楚他的所有好处很需要费点力气。我就一个功能一个功能的说。有我理解不透的地方希望大家指点。1.copy-to-write当生成一个C++ object的时候如果这个class很大,这个object会占用很多空间。那么每生成一个就占用一片空间,这样会占用很多系统资源。同时降低效率。一个解决方法就是对用拷贝构造函数生成的object,让
2010-03-24 15:12:00 290
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人