自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

mfc第五天源代码

mfc学习笔记系列之视图窗口。包含整个项目的源码及资源。

2015-04-01

mfc第四天源代码

mfc学习笔记系列之菜单资源。包含整个项目的源码及资源。

2015-04-01

database文件

database文件 mysql数据库相关的命令,笔记以及操作,是本人在学习数据库过程中的积累。

2015-01-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除