
C++
suyksuyk
I specialize in C .
I am eager to improve myself.
I like making friends.
展开
-
Linker related
To build the executable, the linker must perform two main tasks: Symbol resolution. Object files define and reference symbols. The purpose of symbol resolution is toassociate each symbol reference转载 2009-09-07 10:39:00 · 795 阅读 · 0 评论 -
论函数调用约定(转) 收藏
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递转载 2009-10-19 13:57:00 · 591 阅读 · 0 评论 -
数组 ,指针
void main(){ char str[][4]={{1,2,3,4},{5,6,7,8}}; char *pc1 = (char*)(&str+1 ); char *pc2 = (char*)(&str[0]+1); char *pc3 = (char*)(str+1); char c1=*(pc1-1); char转载 2009-10-19 15:12:00 · 755 阅读 · 1 评论 -
stack auto variable. and struct variable.
#pragma pack(4) Typedef struct Test_STRUCT { Char DataOne; Long DataTwo; Short DataThree; Int DataFour; }; Int main(int argc,char *agrv[]) { Test_STRUCT ts; Int a; Long b; Char c; Printf(“%d/n”,sizeof原创 2009-10-21 11:05:00 · 628 阅读 · 0 评论 -
如何提高自己的编程水平
如何提高自己的编程水平 袁红岗 不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件转载 2009-10-27 17:26:00 · 589 阅读 · 0 评论 -
单击了 Close按钮
有时候,DefWindowProc处理完消息后会产生其它的消息。例如,假设使用者执行HELLOWIN,并且使用者最终单击了 Close按钮,或者假设用键盘或鼠标从系统菜单中选择了 Close, DefWindowProc处理这一键盘或者鼠标输入,在检测到使用者选择了Close选项之后,它给窗口消息处理程序发送一条WM_SYSCOMMAND消息。WndProc将这个消息传给DefWindowProc转载 2009-11-05 11:11:00 · 1091 阅读 · 0 评论 -
队列化消息与非队列化消息
队列化消息与非队列化消息我们已经谈到过,Windows给窗口发送消息,这意味着Windows呼叫窗口消息处理程序。但是,Windows程序也有一个消息循环,它呼叫GetMessage从消息队列中取出消息,并且呼叫DispatchMessage将消息发送给窗口消息处理程序。那么,Windows程序是依次等待消息(类似于普通程序中相同的键盘输入),然后将消息送到某地方去的吗?或者转载 2009-11-05 11:14:00 · 815 阅读 · 0 评论 -
对齐
写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一转载 2009-10-27 14:12:00 · 497 阅读 · 0 评论 -
c基础
张孝祥另外,在实际的VC++教学中,发现很少有真正精通了C语言编程的学员,一般都有或多或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习VC++困难的一个原因。下面有几个简单测试将能发现你对C语言的掌握情况。int x=35;char str[10];//问:strle转载 2009-10-27 09:30:00 · 608 阅读 · 0 评论 -
db
普通的C/S开发,不需要套接字编程,因为,数据库一般提供这些能力,你只需选择一种连接数据库的方式,一般在DataSource中定义采用“命名管道”或者“TCP/IP”就可以了。采用套接字一般是C/S三层或者分布式开发,即服务器中间层访问数据库,然后与前台通过发包形式通讯,前台不直接连数据库。原创 2010-03-20 19:27:00 · 597 阅读 · 0 评论 -
数据库的设计范式
引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以原创 2010-03-20 19:44:00 · 461 阅读 · 0 评论 -
string string.h cstring 区别
c++中 string与string.h 的作用和区别 #include void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s/n", (strcmp(aaa,"abc")) ? "Found" : "Not转载 2009-10-19 13:47:00 · 1444 阅读 · 0 评论 -
【基础】关于const写保护 收藏 --by dongpy
const int x = 0;int main(){ const int y = 0; *(int*)&x = 1; //Fail *(int*)&y = 1; //OK return 0;}//*(int*)&x = 1; 访问失败,因为链接器把x放在可执行文件的常量数据段中,这里const起到了写保护转载 2009-10-16 09:04:00 · 601 阅读 · 0 评论 -
override overload hide and their differences
For the next few points, its important to differentiate between three common terms:To overload a function f() means to provide another function with the same name (f) inthe same scope but with differ转载 2009-09-07 16:48:00 · 601 阅读 · 0 评论 -
nonpublic over containment
That being the case, what are the extra things we can do if we use inheritance that we cant do if weuse containment? In other words, why use nonpublic inheritance? Here are several reasons, in rougho转载 2009-09-07 17:24:00 · 559 阅读 · 0 评论 -
Only read original classic books
So funSo excited To know what the master/guru think about.You will feel the state of art in high-tech industry.原创 2009-09-10 09:48:00 · 519 阅读 · 0 评论 -
/n/r
/r 回车,回到当前行的行首,而不会换到下一行;/n 换行,换到当前位置的下一行,而不会回到行首;回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一转载 2009-09-09 11:00:00 · 933 阅读 · 0 评论 -
显卡的接口
接口类型是指显卡与主板连接所采用的接口种类。显卡的接口决定着显卡与系统之间数据传输的最大带宽,也就是瞬间所能传输的最大数据量。不同的接口决定着主板是否能够使用此显卡,只有在主板上有相应接口的情况下,显卡才能使用,并且不同的接口能为显卡带来不同的性能。 目前各种3D游戏和软件对显卡的要求越来越高,主板和显卡之间需要交换的数据量也越来越大,过去的显卡接口早已不能满足这样大量的数据交换,因此转载 2009-09-21 14:39:00 · 912 阅读 · 0 评论 -
vitual base
Microsoft Visual C++虚拟多继承 对象模型初步分析 狄骏锋 2004/8/25原创 2009-10-12 14:41:00 · 740 阅读 · 1 评论 -
虚继承 构造顺序
如下的菱形结构,四个字母分别表示一个类名 A B C D 说明:B和C均继承A, D继承B和C 下面是我调试的5种情况的结果,请大家帮忙分析一下: 1. 若所有继承均为普通继承,则构造函数的调用顺序如下:A B A C D 2. 若仅仅A->B为虚继承,则构造函数的调用顺序如下:A B A C D 3. 若仅仅A->C为虚继承,则构造函数的调用顺序如下:A A B转载 2009-10-14 13:55:00 · 1938 阅读 · 1 评论 -
汇编相关 -by codesnail
简单的函数调用,通过简单的函数调用反汇编可以清楚了解如下1.栈到底是什么,如何操纵栈的?2.参数和临时变量是以什么形式在哪存放?3.如何传递返回值?举例:#include int add(int a,int b){ int c=0; c=a+b; return c;}int main(void){ int x=0; i转载 2009-10-14 12:20:00 · 656 阅读 · 0 评论 -
调用栈相关。--飞雪所为
C/C++ code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class Test{public: int i; int j;};void crashme(Test*转载 2009-10-13 17:49:00 · 552 阅读 · 0 评论 -
calling convention
函数调用约定与函数名称修饰规则(一) 作者:星轨(oRbIt) E_Mail:inte2000@163.com 转载请注明原作者,否则请勿转载 使用C/C++语言开发软件的程序员经常碰到这样的问题:有时候是程序编译没有问题,但是链接的时候总是报告函数不存在(经典的LNK 2001错误),有时候是程序编译和链接都没有错误,但是只要调用库中的函数就会出现堆栈异常。这些现象通转载 2009-10-14 12:21:00 · 7355 阅读 · 0 评论 -
DC3 DC4 notepad
Seq十进制十六进制缩写字符名 000x00NULNull (空)^A010x01SOHStart of Heading (报头开始)^B020x02STXStart of Text (正文开始)^C030x03ETXEnd of Text (正文结束)^D原创 2013-05-29 15:07:43 · 2143 阅读 · 0 评论