- 博客(13)
- 收藏
- 关注
转载 一个简单的C++程序反汇编解析
本文主要从汇编角度研究C++语言机制和汇编的对应关系。C++的源代码如下: class my_class { public : my_class() {
2008-01-31 09:17:00 558
转载 DLL中调用约定和名称修饰(三)
、C++编译时函数(非类成员函数)名称修饰当函数使用__cdecl调用约定时,编译器进行以下工作: 1.以?标识函数名的开始,后跟函数名;2.函数名后面以@@YA标识开始,后跟返回值和参数表;3.当函数的返回值或者参数与C++类无关的时候,返回值和参数表以下列代号表示: B:constD:charE:unsigned charF:shortG:u
2008-01-30 14:55:00 561
转载 DLL中调用约定和名称修饰(二)
thiscallthiscall调用约定是C++中的非静态类成员函数的默认调用约定。thiscall只能被编译器使用,没有相应的关键字,因此不能被程序员指定。采用thiscall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,只是另外通过ECX寄存器传送一个额外的参数:this指针。 这次的例子中将定义一个类,并在类中定义一个成员函数,代码如下:
2008-01-30 14:54:00 440
转载 DLL中调用约定和名称修饰(一)
调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在C ++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不同的参数类型或者是不同的作 用域)有多个用法,而不会
2008-01-30 14:53:00 463
转载 C语言宏定义技巧
语言宏定义技巧(常用宏定义) 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的
2008-01-30 13:53:00 652
转载 C++类机制的实现细节
为了搞清楚VC中类的实现专门写了一个最简单的类,用来观察它的实现过程,代码如下:// test.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "CTest.h"int main(int argc, char* argv[]){CTest aTest;aTest.a(1,
2008-01-30 12:45:00 703
转载 浅析C++中的this指针
有下面的一个简单的类:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};int CNullPointCall::m_
2008-01-30 11:19:00 753 2
转载 sql server系统表详细说明
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选项 sysdatabases 主数据库服务器中的数据库 syslanguages 主数据库语言 syslogins 主数据库 登陆帐号信息 sysoledbusers
2008-01-29 10:18:00 651
转载 sysobjects表的字段的意思(SQL SERVER)
经常我们要查询表的索引,约束,相关性,触发器的属性,那么要知道sysobjects这个表的字段的意思,那么不管要查什么都没有问题!Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。 Name,id,xtype,uid,status:分别是对象名,对象
2008-01-29 09:51:00 1725
转载 浅谈Ethernet的帧格式
用过NetXray之类的抓包软件的人,可能经常会被一些 不同的Frame Header搞糊涂,为何用的Frame的Header <!--google_ad_client = "pub-1572879403720716";google_ad_width = 336;google_ad_height = 280;google_ad_format = "336x280_as";
2008-01-28 19:28:00 697
转载 以太网深度剖析
很多人将局域网(Local Area Network,LAN)和以太网(Ethernet)混为一谈,这个误解大概是因为和其他局域网技术比较起来,以太网技术使用得是如此普遍、发展得是如此地迅速,以至于人们将"以太网"当作了"局域网"的代名词。 本节将讨论"局域网"和"以太网"二者之间的关系以及相关的一些基础知识。 1 以太网概述 1973年,施乐公司(Xerox)开发出了一个设
2008-01-28 19:27:00 776
转载 不使用第三个变量,交换A、B变量值
不使用第三个变量,交换A、B变量值总结如下: 1.数值型变量 int a, b a = a+b b = a - b a = a – b 2.字符串变量 string a, b a=/abc/ b=/xyz/ a = a + b b = mid(a, 0,Len(a)-Len(b)) a = mid(a,len(b)+1,len(a)-len(b
2008-01-19 19:28:00 1263
转载 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则 2004年7月31日星期六 第二次更新,增加了对象的堆内存分配,细化了指针数组和数组指针内存的说明 ! 昨天给0405班辅导,当他们问我指针数组的问题的时候,由于好久没用,感觉有些陌生了,所以今天归纳总结了一下,希望以后的朋友可以少走些弯路:) 一
2008-01-17 23:19:00 530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人