cpp
文章平均质量分 75
_子木_
这个作者很懒,什么都没留下…
展开
-
cpp反汇编之控制结构
控制结构主要是关于 if/else switch/case废话不多说。。献上代码及反汇编分析。。#includeint main(int argc , char *argv[]){ int nInt = 9;// if(0 == nInt) __asm { cmp DWORD PTR [EBP - 4h] , 0 ; jle __exit; }// __原创 2015-04-01 22:44:35 · 703 阅读 · 0 评论 -
cpp反汇编之const分析
先来分析一个简单的例子。(注意容易出错)代码非常简单#include#includeusing namespace std;int main(){ const int a = 1; int* b = (int*)&a; *b = 2; cout << a << endl << *b << endl; return 0;}反汇编分析 重点之处有注释1: #i原创 2015-04-04 10:51:43 · 790 阅读 · 0 评论 -
mfc第六天
一文档类1,MFC文档相关类 用于管理数据,封装了数据和视图窗口之间的操作。CDocument --父类CCmdTarget2,使用 1,利用CFrameWnd::LoadFrame函数创建框架窗口 2,在框架窗口的WM_CREATE消息中创建视图窗口 3,将视图窗口的WM_REATE消息中将视图类对象和文档类对象进行关系(建立绑定关系)3.原创 2015-04-04 12:39:41 · 784 阅读 · 0 评论 -
cpp反汇编之数组
先贴上源代码#includevoid Show(char szBuf[]){ strcpy(szBuf , "Hello World");}char* RetArray(){ char szBuff[] = {"Hello World"}; return szBuff;}void main(){ int nArray[5] = {1 , 2 , 3 , 4 , 5};原创 2015-04-04 13:40:21 · 792 阅读 · 0 评论 -
MFC集合
不多说,运行一个例子看看。// MFCCollection.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include class CPoint3D{public: int m_x; int m_y; int m_z; CPoint3D(){} CPoin原创 2015-04-06 22:42:28 · 456 阅读 · 0 评论 -
MFC操作文件
两个例子。。// MFCFile.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include void CFileTest(){ CFile file; if(!file.Open("c:/mfcfile.txt", CFile::modeCreate|CFile原创 2015-04-06 22:44:56 · 410 阅读 · 0 评论 -
MFC第九天
MFC文件操作 1.相关类 CFile类 封装了文件句柄以及相关操作的API CFileFind类 封装了文件查找相关的类 2 CFile类的使用 2.1打开或者创建文件 2.2文件读写 通常放到宜昌处理结果中 2.3关闭文件CFileFind 查找指定目录下的所有文件原创 2015-04-06 22:46:49 · 577 阅读 · 0 评论 -
MFC第八天
mfc绘图 绘图对象的使用, CBitmap 使用 创建于当前dc的兼容dc (内存中数据结构一样) 将位图选入兼容dc 将位图从兼容dc拷贝到当前dc 将位图从兼容dc中选出,恢复位图 删除兼容dc 删除位图对象 CRgn 复杂区域 创建几何区域 CRgn::CreateXXX原创 2015-04-06 22:36:57 · 638 阅读 · 0 评论 -
MFC第十天
MFC对话框1分类 模式和非模式2相关类 CDialog --父类 CWnd CCommonDialog 通用对话框--父类CDialog CPropertypage 属性页对话框 --父类CDialog CpropertySheet类,与CPropertypage一起完成属性页的创建. 3创建基于对话框的应用程序。 1.模式对话框 添加对话框资源,原创 2015-04-06 22:50:46 · 688 阅读 · 0 评论 -
cpp反汇编之类和结构体分析
废话不多说。。#includeclass CNumber{public: CNumber() { m_nOne = 1; m_nTwo = 2; } int __stdcall GetNumberOne() { return m_nOne; } int GetNumberTwo() { return m_nTwo; }1: #include2:原创 2015-04-07 16:32:04 · 921 阅读 · 0 评论 -
支付穿指针和字符数组分析
容易搞混int main(int argc , char *argv[]){ char* name = "Victor Hugo"; char str[10] = "aaa"; printf("\n%d %d\n" , sizeof(name) , sizeof(*name) ); printf("%s\n" , typeid(name).name()); printf("原创 2015-04-07 09:38:23 · 540 阅读 · 0 评论 -
c++指针和引用异同
说白了c++中的引用就是指针。。至少底层实现是这样。。一个例子说明。。一下#include int main(int argc , char *argv[]){ int a = 9; int *b = &a; int &c = a; ++c; *b += 2; return 0;}1: #include 2:3: int main(int argc原创 2015-04-07 10:59:09 · 528 阅读 · 0 评论 -
MFC第七天
多文档视图应用程序 1,概念 可以同时管理多个文档,例如:word excel office等 2.相关类 CWinApp CMDIFrameWnd ---对文档主框架类 CMDIChildWnd ---多文档子框架类 CView/CEditView CMultiDocTemplate --多文档程序模板原创 2015-04-04 12:52:08 · 554 阅读 · 0 评论 -
数A去掉一个数字后得到B,给出A与B的和N求所有可能的数A
废话不多说 源代码中有注释 /* File : ABN.c Date : 2015/4/4 version : 1.0 platform : windows 7 x86_64 Function : A + B = N 1 <= N <= 10^9 B 是A去掉一个数字后得到 例如 A + B = 34 A可以是27或31 特例: 12 = 11 + 1 会执原创 2015-04-04 17:59:30 · 761 阅读 · 0 评论 -
c/c++启动函数startup
__declspec(noinline)int__tmainCRTStartup( void ){ int initret; int mainret=0; int managedapp;#ifdef _WINMAIN_ _TUCHAR *lpszCommandLine; ST原创 2015-04-04 13:38:06 · 2210 阅读 · 0 评论 -
cpp反汇编之构造函数2
先献上源代码#includeclass CNumber{public: CNumber() { m_nNumber = 1; } int m_nNumber;};void main(){ CNumber *pNumber = NULL; pNumber = new CNumber; pNumber->m_nNumber = 3; printf("%d \r\n原创 2015-04-01 22:51:45 · 610 阅读 · 0 评论 -
cpp反汇编分析之构造函数
子类构造函数先调用父类。子类保留父类一块空间。以一个例子分析:class A { public: A() { } ~A() { cout<<"~A"<<endl; } }; class B:public A { public: B(A &a):_a(a) {原创 2015-03-31 13:53:37 · 683 阅读 · 0 评论 -
cpp反汇编之protected
protected关键字:摘自MSDNprotected 关键字指定对 member-list 中的成员直到下一个访问说明符(public 或 private)或类定义的末尾的访问。只能通过以下项使用声明为 protected 的类成员:最初声明这些成员的类的成员函数。 最初声明这些成员的类的友元。 使用公共或受保护访问(派生自最初声明这些成原创 2015-03-31 14:55:41 · 825 阅读 · 0 评论 -
字节对其
对于不同的c/c++编译器会采取不同的处理方式下面举一个例子#include class A{public: int a; short b; int c; char d;};class B{public: double a; short b; int c; char d;};int main(){ A a; B b; printf("sizeof原创 2015-03-31 15:35:59 · 384 阅读 · 0 评论 -
cpp反汇编之继承之基类
先分析一个例子。#includeclass CBase{public: CBase() { printf("CBase\n"); } ~CBase() { printf("~CBase\n"); } void SetNumber(int nInt) { this->m_nNumber = nInt; } int GetNumber() { retu原创 2015-04-02 09:27:29 · 570 阅读 · 0 评论 -
cpp反汇编之多继承
源码#includeclass CSoft{public: CSoft() { m_nColor = 2; } virtual ~CSoft() { printf("virtual ~CSoft()\n"); } virtual int GetColor() { return m_nColor; } virtual int SitDown() {原创 2015-04-02 10:04:46 · 726 阅读 · 0 评论 -
cpp反汇编之菱形继承
先分析一个例子#includeclass CFurniture{public: CFurniture() { m_nPrice = 0; } virtual ~CFurniture() { printf("virtual ~CFurniture()\n"); } virtual int GetPrice() { return m_nPrice; }publ原创 2015-04-02 09:44:39 · 891 阅读 · 0 评论 -
cpp反汇编之共同继承一个父类
先拿出源代码#includeclass CPerson{public: CPerson() { ShowSpeak(); } virtual ~CPerson() { ShowSpeak(); } virtual void ShowSpeak() { printf("%s::ShowSpeak()\r\n" , GetClassName()); } vir原创 2015-04-02 09:40:18 · 501 阅读 · 0 评论 -
mfc第四天
一MFC菜单1 菜单的相关问题 win32--HMENU MFC----CMenu类对象-->实为菜单句柄的映射 CMenu类封装了操作菜单的各种API函数 封装了一个成员CMenu::m_hMenu保存菜单句柄2.菜单使用 1.添加菜单资源 2.将菜单设置到窗口 1)在框架类窗口的WM_CREA原创 2015-04-01 13:57:44 · 486 阅读 · 0 评论 -
mfc第五天
一MFC视图 1,相关问题 视图窗口 --一个数据的窗口,可以喝用户进行交互操作 MFC视图类CView及其子类 2.视图窗口的使用 框架窗口带标题栏,是父窗口,而视图窗口不带标题栏,是子窗口 2.1将CView类派生自己的视图类(CMyView),并需要重写一个虚函数OnDraw 在框架窗口的WM_CREAT原创 2015-04-01 14:19:27 · 536 阅读 · 0 评论 -
cpp反汇编之指针
笔记比较零碎 只附上反汇编了。。。有待日后编辑完善1: #include2:3: int main()4: {00401330 push ebp00401331 mov ebp,esp00401333 sub esp,6Ch00401336 push ebx004013原创 2015-04-04 14:05:13 · 821 阅读 · 0 评论 -
打印二叉树两个叶子节点间的路径
简要代码 /* * File : print binary tree road between leaf A and leaf B * Date : 2015/8/2 * Author : jinya * Assert A --> B * traverse root , left , right ; left , root , right ; left , right , root原创 2015-08-02 14:59:43 · 1838 阅读 · 0 评论