- 博客(18)
- 资源 (12)
- 问答 (3)
- 收藏
- 关注
原创 <Linux> vim编辑器
1. vim安装和设置vim是linux下强大的文本编辑器。Ubuntu获取vim:$ sudo apt-get install vim编辑vim设置文件:$ sudo vim /etc/vim/vimrc常用的,设置缩进空格数,设置行号:set autoindent "自动缩进“set tabstop=4 "设置TAB占四个空格"set number "显示
2015-01-23 17:16:16 561
原创 <C/C++> 类型转换
变量进行操作的时候要求类型,函数调用的时候要求实参类型与形参相同。此时就涉及到了类型转换。类型转换分为隐式转换和显式转换。1. 隐式转换顾名思义,非人为控制的,编译器进行的类型转换,此种情况下程序员可能并不知道进行了转换。如:int i = 10;i += 10.23; //要求加数也是int型,常数10.23默认为double型,隐式转换为int, 值截断变为10编译时编
2015-01-23 11:09:22 812
原创 <C++> RTTI机制
1. RTTIRTTI是”Runtime Type Information”的缩写,意思是运行时类型信息,它提供了运行时确定对象类型的方法。#include class A{public: virtual void Print() { cout<<"This is class A."<<endl; }};class B : public A{public: v
2015-01-23 10:30:29 729
原创 <Win32> 使用钩子仿照Spy++截取消息
Win32程序对不同类型Message的处理过程不一样,对于Post过来的Message(通过PostMessage发送),会由GetMessage来处理,对于Send过来的Message(通过SendMessage发送),则由CallWndProc来处理,并在处理完成后执行CallWndRetProc,所以要HOOK并区分这两种Message需要同时处理三个HOOK:WH_GETMESSAGE、WH_CALLWNDPROC和WH_CALLWNDPROCRET。 所以: 1、'P': 通过WH_GETM
2015-01-21 12:06:45 4201 2
转载 LIB和DLL的区别与使用
原文地址:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链
2015-01-19 09:59:44 673
原创 <Win32> VS新建DLL工程
1. 建立步骤VS新建工程/添加项目 -> Win32 -> Win32项目 -> 下一步 -> 应用程序类型:DLL -> 完成 2. 文件代码
2015-01-17 15:53:58 1096
原创 <Boost> boost::thread 多线程的使用
boost::thread参考帮助文档:http://www.boost.org/doc/libs/1_57_0/doc/html/thread.html1. Windows的多线程参考博文:http://blog.csdn.net/morewindows/article/details/7421759#include CRITICAL_SECTION g_cs;void
2015-01-12 15:13:03 1556
原创 <Linux> grep文件搜索
grep 是Global search Regular Expression的缩写。用于文件的字符串搜索。支持正则表达式。使用方法:grep [Options] Pattern FILE[s]Options常用的有以下:-c 只输出匹配行的计数。-i 不区分大小写(只适用于单字符)。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示
2015-01-10 15:22:12 717
原创 <Boost> smart_ptr智能指针
1. 智能指针C++由于没有Java一样的内存回收机制,需要程序员自己delete new的内存,否则的话会发生内存泄露的情况。智能指针便是为了解决这个问题。智能指针可自动释放新申请的内存,如同JAVA的GC一样。详细的参考:http://blog.csdn.net/hackbuteer1/article/details/7561235下面是示例代码:template clas
2015-01-10 14:09:22 833
原创 常用Linux命令
1.系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo
2015-01-09 16:07:52 743
转载 堆内存(Heap)和栈内存(Stack)详解
原文地址:http://blog.csdn.net/abcjennifer/article/details/39780819堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似
2015-01-09 14:02:50 7039
原创 <C/C++> IO流 cout/fstream的使用
原文地址:http://www.cnblogs.com/devymex/archive/2010/09/06/1818754.htmlcout是C++终端输出函数,类似于C的printf。下面是我给合原文所写的测试代码:void TestCout(){ cout.setf(ios::showpos | ios::uppercase); // 显示符号“+-”,十六进制大
2015-01-08 16:26:35 1402
原创 <Win32 API> 文件操作CreateFile/ReadFile/WriteFile
1. CreateFile/ReadFile/WriteFileCreateFile函数原型:HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreati
2015-01-07 15:21:19 9472
原创 <Boost> 字符串处理和格式化输出
boost有丰富的字符串处理和格式化输出库。boost::string_algo 用于字符串大小写转换,比较,修剪和查找boost::format 用于字符串格式化输出,如printf一般.boost::tokenizer 用于字符串分割下面是测试代码:#include #include #include void
2015-01-06 11:38:59 1197
原创 <Boost> boost::lexical_cast字面转换和gregorian::date日期
lexical_cast 用于字面值的转换,转换成int,double型,类似atoi函数。gregorian::date 是boost里面的日期时间,使用gregorian::date_duration进行日期的加减。闰年 涉及到日期,就有闰年的问题,关于闰年的解释如下: 关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年
2015-01-05 15:44:41 1259
原创 Android 4.4 编译Windows fastboot.exe/fastboot.dll
前期准备1. 安装虚拟机:Ubuntu 12.04 64位操作系统(32位编译会出问题) 2. 获取Android源码:http://blog.csdn.net/ilittleone/article/details/6823441复制到虚拟机,据其博文,使用cat生成droid.tar.gz,并解压 3. 安装java获取64位java: https://jdk
2015-01-05 10:25:08 2374 1
转载 <Win32 API> 钩子程序的实现
原文地址:Win32环境下代码注入与API钩子的实现1. 主要点挂API钩子分为四步:1. 查找并打开宿主进程,2. 将注入体装入宿主进程中运行,3. 用伪装函数替换目标API,4. 执行伪装函数。整个程序也分为两部分,一部分是负责查找并打开宿主进程和注入代码的应用程序,另一部分是包含修改代码和伪装函数的注入体。1.1 获取宿主程序的ProcessId亦可参考我的博文:通过进程
2015-01-04 14:16:42 2533
原创 <Win32 API> CreateFileMapping 共享内存
1. 创建共享内存CreateFileMapping:HANDLE CreateFileMapping( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCT
2015-01-04 11:02:16 1580
Android Input Event Analyzer
2017-03-21
使用钩子仿照Spy++截取消息
2015-01-21
AndroidLayoutTest
2014-04-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人