- 博客(64)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 打印二叉树两个叶子节点间的路径
简要代码 /* * 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 1841
原创 排序算法
快速排序/* 实现快速排序的非递归版本*/#include #include #include #include #include using namespace std;#define MAX 100typedef struct node{ int nLow; int nHigh;}data;templateint Partition(vector vect
2015-07-27 22:53:44 549
原创 2015春季腾讯实习在线测试题之求int型字节长度,不准用sizeof
不使用sizeof,求某机器平台的int型整数位数(16,32,64)思路,将整数变成字符串处理,并且在内存的末尾填零,即字符串结束符。如 0x0012,0x00123456,0x00123456789ABCDE分别对应16,32,64位数; 小端机代码#include #include int main(int argc , char *argv[]){
2015-04-10 09:48:11 898
原创 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 927
原创 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 531
原创 支付穿指针和字符数组分析
容易搞混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 542
原创 MFC第十天
MFC对话框1分类 模式和非模式2相关类 CDialog --父类 CWnd CCommonDialog 通用对话框--父类CDialog CPropertypage 属性页对话框 --父类CDialog CpropertySheet类,与CPropertypage一起完成属性页的创建. 3创建基于对话框的应用程序。 1.模式对话框 添加对话框资源,
2015-04-06 22:50:46 692
原创 MFC第九天
MFC文件操作 1.相关类 CFile类 封装了文件句柄以及相关操作的API CFileFind类 封装了文件查找相关的类 2 CFile类的使用 2.1打开或者创建文件 2.2文件读写 通常放到宜昌处理结果中 2.3关闭文件CFileFind 查找指定目录下的所有文件
2015-04-06 22:46:49 579
原创 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 415
原创 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 462
原创 MFC第八天
mfc绘图 绘图对象的使用, CBitmap 使用 创建于当前dc的兼容dc (内存中数据结构一样) 将位图选入兼容dc 将位图从兼容dc拷贝到当前dc 将位图从兼容dc中选出,恢复位图 删除兼容dc 删除位图对象 CRgn 复杂区域 创建几何区域 CRgn::CreateXXX
2015-04-06 22:36:57 642
原创 windows/mfc面试题一套
不知道答案是否正确。。日后再完善。。 一、C/C++基础选择与填空1. VC++6.0环境下,假定a 为一个整型(int)数组名,则元素a[8]的地址为:CA. a+4 B.a+8 C.a+16 D.a+32 2. 定义 "int a=3, b=4, c=5;" , 则"c 3. char* name = "Victor Hugo";
2015-04-06 21:27:52 3911
原创 约瑟夫环问题
网上说法很多。。这里简单描述一下。一群人围成一个圈,每个人都有自己的密钥。。出列后用其密钥做下一个循环出队数。源代码#include#includetypedef struct _node{ int ord;//order int key;//key struct _node* next;}Node,*pNode;pNode Create(){ int k,o=1;
2015-04-04 21:59:00 571
原创 题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。
题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};c语言实现/* File : rlink.c Author : Date : 2015/4/4 platform : windows7 x86_64 ve
2015-04-04 21:47:10 2187
原创 数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 763
原创 cpp反汇编之指针
笔记比较零碎 只附上反汇编了。。。有待日后编辑完善1: #include2:3: int main()4: {00401330 push ebp00401331 mov ebp,esp00401333 sub esp,6Ch00401336 push ebx004013
2015-04-04 14:05:13 826
原创 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 796
原创 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 2217
原创 MFC第七天
多文档视图应用程序 1,概念 可以同时管理多个文档,例如:word excel office等 2.相关类 CWinApp CMDIFrameWnd ---对文档主框架类 CMDIChildWnd ---多文档子框架类 CView/CEditView CMultiDocTemplate --多文档程序模板
2015-04-04 12:52:08 556
原创 mfc第六天
一文档类1,MFC文档相关类 用于管理数据,封装了数据和视图窗口之间的操作。CDocument --父类CCmdTarget2,使用 1,利用CFrameWnd::LoadFrame函数创建框架窗口 2,在框架窗口的WM_CREATE消息中创建视图窗口 3,将视图窗口的WM_REATE消息中将视图类对象和文档类对象进行关系(建立绑定关系)3.
2015-04-04 12:39:41 790
原创 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 797
原创 用1,2,5这三个数相加(可重复)和为100的个数
题解:首先举一下例子100个150个220个5均可以其实从数学的角度来表达即是 m*1 + n*2 + k*5 =100求这个方程的解 非负整数的解也即是 n*2 + k*5 = 100-m即 0 下面列出源代码#include int main(int argc , char *argv[]){ int nCount = 0 , i , j;
2015-04-03 19:31:44 650
原创 使用递归将一个整数各个数字保存到一个数组中
其实非递归方法也是蛮简单的。递归方法也蛮简单就是从外向内递归处理各个数位罢了。这里献上源代码#include void fun(int *paInt , int n , int k){ if(0 == n) //到头了就返回 { return; } paInt[k] = n % 10; //此处将末位保存到相应数组位置中 fun(paInt , n / 10 ,
2015-04-03 19:19:52 1907
原创 AT&T学习笔记汇编之call
write调用:eax 系统调用值ebx 要写入的文件描述符ecx 包含字符串的开头edx 包含字符串的长度ps 默认本终端ps -f/details -e/all -l/long进程状态 S/sleep T/挂起 R/run Z/僵尸as -gstabs -o cpuid2.o cpuid2.sld -dynamic-link
2015-04-03 19:12:39 740
原创 AT&T学习笔记汇编之调用汇编库
调用汇编库: 程序堆栈 参数3 参数2 参数1 返回地址 旧的ebp值 esp 局部变量。。。可以安全使用mmx sse 但是必须小心使用fpu必须保留ebx edi esi ebp espeax 用于保存输出值ebx 用于指向全局偏移表ecx 在函数中可用edx
2015-04-03 19:10:36 539
原创 AT&T汇编学习笔记之字符串
movsb 传送单字节movswmovsl 传送双字源操作数esi指向内存位置 edi目的操作数 movl $output , %edilea指定内存位置 源操作数必须指向一个内存位置 leal output , %edieflags df决定传送方向 正向0 cld 反向 1 stdstd向后处理字符串re
2015-04-03 19:09:30 807
原创 AT&T汇编学习笔记之数据类型
数据操作: movw $0xffb1 , %dx movzx source , destination source可以是8,16位 destination可以是16位或32位 movzx %cl , %ebx movsx 扩展带符号整数。 .quad可以定义一个或者多个带符号整数值。每个整数占8个字节。
2015-04-03 19:09:25 990
原创 AT&T学习笔记汇编之数学处理
溢出 movl $0 , %ebx movb $190 , %bl movb $100 , %al addb %al , %bl jc over movl $1 , %eax int $0x80 over: movl $1 , %eax movl $0 , %ebx int
2015-04-03 19:08:30 727
原创 AT&T学习笔记汇编之内核
内核组成: 内存管理 设备管理 文件系统管理 进程管理内存管理: 虚拟内存 交换空间 页面(块) cat /proc/meminfo ipcs -m设备管理: 硬件管理 内核模块(kernel module) unix文件:字符,块,网络 设备文件被创建为节
2015-04-03 19:07:53 484
原创 AT&T学习笔记汇编之内联c语言
asm("assembly code");ansi c将asm用于其它用途,用__asm__替换在asm后面加上 volatile可以禁止编译器优化asm volatile ("pusha \n\tpopa");__asm__ __volatile__ ("pushl $1\n\t");扩展asmasm ("asm code" : output locate :
2015-04-03 19:06:07 619
原创 AT&T学习笔记汇编之高级特性
高级特性:SIMD single instruction multiple data单指令多数据SIMD扩展 Streaming SIMD Extension (SSE)流化扩展第二实现 SSE2第三 SSE3MMX 对整数执行SIMD操作64位打包字节,字,双字整数,MMx 0-7 映射到FPU寄存器R0-7使用
2015-04-03 19:05:39 737
原创 AT&T学习笔记汇编之函数
步骤1定义需要的输入值2定义对输入值执行的操作3定义如何生成输出值以及如何把输出值传递给发出调用的程序。定义输入值 使用寄存器 使用全局变量 使用堆栈 .type func1, @function func1:返回主程序 把结果放在一个或者多个寄存器 把结果放在全局变量内存位置。
2015-04-03 19:04:14 906
原创 AT&T汇编学习笔记之使用文件
使用文件:系统调用打开 5 打开要访问的文件并且创建指向该文件的句柄。读取 3 使用文件句柄打开文件写入 4 使用文件句柄写入关闭 6 关闭文件并且删除文件句柄打开:int open(const char* pathname , int flags , mode_t mode);eax 5 ebx 包含以空字符结尾的文件名字符串的开始位置的内存地址。ec
2015-04-03 19:03:10 514
原创 AT&T学习笔记汇编之控制指令
跳转jmp labelcall addresss调用函数先将eip入栈,eip指向函数的地址esp直接使用栈中的数据push pop引用堆栈中的数据程序通常把esp复制到ebp在使用ebp获取call指令之前传递给栈的信息。function_label: pushl %ebp movl %esp , %ebp
2015-04-03 19:02:39 801
原创 linux学习笔记之nfs
rpc remote procedure callnfs_s rpc nfs_s向rpc注册短口client链接nfs_Snfs_utilsnfs_utils_libnfsdrpc.mountdrpc.lockdrpc.statdrpc.quotadscripts:nfs (nfsd , rpc.mountd , rpc.quot
2015-04-03 18:59:49 460
原创 linux学习笔记之ftp服务器
基于TCPC/S数据连接20号端口控制连接21号端口数据 主动/被动连接bbs.lijinya.com 80 192.169.10.2www.lijinya.com 80 192.168.10.2ip一样基于IP的虚拟ftp服务器一个端口对应一个服务本地用户登陆。。。。关闭防火墙username passwd 登陆入加目录
2015-04-03 18:58:31 451
原创 linux学习笔记之进程管理
ps process stateunix system V BSDps -e 显示所有进程(tty相关的是前台进程 ?tty无关) -u 用户相关 -f full format listing -F print extra information -o command 选择显示
2015-04-03 18:56:20 605
原创 linux学习笔记之文件处理
locate 非实时 数据库查找 非精确查找 速度快find 实时查找 精确查找 find [dir] [ceriteria] [action]find /etc -name "passwd*"find /etc -iname "passwd"ls不支持管道ls
2015-04-03 18:54:02 544
原创 linux学习笔记之文本处理
文本处理器 字处理软件 wordvi(visual interface) vim (vi improved)Emacs 小型机上多用 可打开网页 功能强大vim 主要在linux模式化编辑器 输入模式(插入模式) 命令模式(编辑模式,复制粘贴等) 末行模式(最下方一行命令操作)vim打开文件vim file
2015-04-03 18:53:02 489
原创 linux学习笔记之软件包管理
软件包管理 软件包组成 二进制程序 配置文件 单文件 将主配置文件切割成多个小文件,并放置于某个目录中。 /etc/profile ,/etc/profile.d/* /etc/pam.conf , /etc/pam.d/* 单文件,在内部分割成多个片段。
2015-04-03 18:52:33 613
g++编译错误但cl编译成功
2014-09-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人