- 博客(121)
- 资源 (23)
- 收藏
- 关注
原创 Ipsec transport mode and turnnel mode
隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的
2014-06-17 09:47:42 6620
原创 微软面试心得总结
当我接到微软HR电话的,甚是欣喜!~毕竟在无数的developer中能够选到我的简历(未投简历,HR说是智联上看到的!)。约好了第二天面试,我就马不停蹄的准备。传说中微软所有的笔试、面试都是考察算法,所以我也做了很多准备。 笔试:到达微软中国研究院的时候,由bony(美女,后来知道是个PM)带我上去,然后就开始做笔试题,笔试题时间1个小时,全部是英文,最后两道是算法编程题,而且注明了必
2014-05-05 20:41:58 27195 11
原创 个人有关内存的思考:
对于应用程序而言,内存中存储区域大致有堆、栈、静态区域三个部分。系统在分配内存的时候,会在内存中寻找一个能够满足申请大小的区域进行标记,并返回此区域的大小。虚拟内存的使用很大程度上解决了大文件对于内存的困扰,但是相应的付出了系统的开销。在使用虚拟内存的使用,系统会不断的将内存中的一个区域映射到磁盘上,并不断的进行页交换和提交。 堆:对于应用程序而言,是一块由系统为应用程序而分配的内存
2014-04-23 16:16:00 1011
原创 再次解读 new malloc
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.
2014-04-23 15:40:30 675
转载 CURL 库的基本使用-----转自nk_ysg
这个目录的文章转载freeeyes大牛的作品前一段时间自己写了一个抓取网页代码的类,来满目一些项目需求,结果发现并不稳定,在海量网页抓取的时候,存在一些异常导致抓取失败。虽然能满足大概的要求,但是功能上还是不能让我100%的满意,于是在站长的建议下,下载了一个CUrl通用库。第一次写这样的文章,有失偏颇处请谅解,呵呵。最近把CURL运用在自己的工程里,发现效果非常理想,尤其在海量数据抓
2014-04-11 10:36:31 846
转载 透过宏定义了解MFC的消息响应机制
消息系统是MFC的重要组成部分。MFC的消息响应机制并不复杂,而且MFC的开发环境 Visual Studio来供了非常好的自动化工具,自动生成代码。MFC也定义了丰富的宏来简化消息响应的代码。这使得很多初学者都能快速开发出基于消息响应机制的应用程序。然后也正是这些带来方便的宏,使很多人摸不着头脑。当不小心的代码操作使自动化工具不好用的时候,看着那一组更像是一堆的宏,很多人只好一头雾水。要
2014-03-21 17:40:15 907
转载 创建悬浮框
原作者:http://blog.163.com/toplcx@yeah/blog/static/92667383201021932360/原理: 创建一个单独的非模态对话框,并将其置顶1、 在解决方案中添加对话框资源 ID:IDD_FLOAT 属性 Border设为none,Title Bar设为false。为对话框模板添加基于CDialog的类CFloatDlg,为CMai
2014-03-21 16:44:42 1227
转载 Windows下编译WebRTC过程 -----包含最新版本webrtc同步!
[置顶] Windows下编译WebRTC过程转自:http://blog.csdn.net/sxwyf248/article/details/7060386 文中所有安装文件,都已经打包!见本人资源!1. 下载Google Depot Tools,这是Google 在 Chromium 中就开始使用的分发工具。地址:https://sites.google.com
2014-03-10 10:01:45 13970 1
原创 TCHAR 转换 string
刚才用到了这个变量的转换,想着写个函数吧,但是手懒了一下!直接问度娘了!一问让我大吃一惊,百度出来的转换函数几乎如出一辙,肯定是一个人发,其他人copy的,但是copy的人,可真够牛逼!一个根本无法使用的函数,愣是大义凛然的放在那里?这不得不让我想到了一个问题,前几天有人问我,小甲:“为啥同样工作3年的程序猿,别人都1.3W以上了,但是我还是7K?”。当时我说了句“这个得问你自己”。其实我当时也没
2014-02-26 17:29:16 35169 9
原创 MFC MDI和SDI非客户区框架界面美化之----界面全面美化
VS2008以上的开发平台,微软提供了“视觉管理器和样式”这么一个概念,我们可以通过继承视觉管理器提供的样式进行美化界面,包括MDI框架等。也可以实现构造自己的皮肤界面库,从而避免无休止的重绘、刷新界面。
2014-02-12 10:49:28 12491 4
原创 MFC MDI和SDI美化----之客户区美化
1、美化方式:贴图,重绘背景2、一、MDI客户窗口 一个MDI应用的主框架窗口包含一个特殊的子窗口称为MDICLIENT窗口。MDICLIENT窗口负责管理主框架窗口的客户区。MDICLIENT窗口本身有自己的子窗口即由CMDIChildWnd派生的文档窗口,也就是MDI子窗口。MDI主框架窗口负责管理MDICLIENT子窗口。当控制条(菜单条,状态条等)发生变化时,MDI主框架窗口重新
2014-02-12 09:53:59 3913 1
原创 MFC MDI和SDI非客户区框架界面美化之----标题栏以及边框美化
1、美化方式:贴图、重绘 优点:简单,易理解!适合 缺点:美化限制较大,实际使用意义不大。2、基本思路是重载CMainFrame类的DefWindowProc()函数,并判断消息为:WM_NCPAINT,WM_NCACTIVATE,WM_NOTIFY的时候,调用自己的绘制窗口标题栏的函数。用GetSystemMetrics(SM_CSFRAME)和GetSystem
2014-02-12 09:29:20 8625 1
转载 I/O异步demo
HANDLE WINAPI CreateIoCompletionPort( __in HANDLE FileHandle, __in HANDLE ExistingCompletionPort, __in ULONG_PTR CompletionKey, __in DWORD NumberOfConcurren
2014-01-13 20:39:26 910
转载 异步I/0基础
一、异步设备I/O基础与计算机执行的大多数其他操作相比,设备I/O是其中最慢、最不可预测的操作之一。但是,使用异步I/O能够更好的使用资源并创建出更加高效的应用程序。假设一个线程向设备发出一个异步I/O请求。这个I/O请求被传给设备驱动程序,后者负责完成实际的I/O操作。当驱动程序在等待设备响应的时候,应用程序的线程并没有因为要等待I/O请求完成而被挂起,线程会继续运行并执行其他有
2014-01-13 20:37:15 1881
转载 使用VS2010的CMFCToolbar实现真彩色工具栏
从VC2008的SP1开始,新加入了很多MFC控件,其界面效果虽然比不上WPF,但与之前的控件相比,也已经是飞越了。无奈目前大家对它的研究还是比较少,虽然自带了一些示例程序,仍然不能满足开发的方方面面。貌似C++的高手更喜欢旧版的MFC控件,这也难怪,新版的控件效果,用旧版的也能实现,只是有些麻烦,也可能高手们都不用MFC吧。我是刚从.net转入C++的新兵,用惯了framework提供的简单控件
2014-01-06 16:16:47 1511
转载 VC 开机自动启动程序代码
VC 开机自动启动程序代码很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsoft\\Windows\\CurrentVersion\\Run 。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作) //实用代码一int C***Dlg::Creat
2013-12-26 16:24:11 902
原创 控制台获取键盘事件--SetConsoleCtrlHandler 处理控制台消息
SetConsoleCtrlHandler 处理控制台消息一、如何处理所有的控制台消息。 第一步,首先要安装一个事件钩子,也就是说要建立一个回调函数。调用Win32 API,原型如下:BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE HandlerRoutine, // 回调函数B
2013-12-26 16:20:12 5527 1
原创 复习笔记之三--内核对象线程同步---事件
1、 等待函数//**************************************************************////输入参数:hHandle 标识一个支持被通知/未通知的内核对象,dwMilliseconds 等待的时间,INFINITE为等待直到进程结束。//****见返回值******************************//
2013-12-26 09:51:47 702
原创 复习笔记之二--用户方式线程同步
A、原子访问:互锁函数家族执行原理:对于X86CPU,函数对总线发出一个硬件信号,防止另一个CPU(线程)访问同一地址(地址保护);对于A l p h aCPU,函数执行以下操作:1) 打开C P U中的一个特殊的位标志,并注明被访问的内存地址。2) 将内存的值读入一个寄存器。3) 修改该寄存器。4) 如果C P U中的特殊位标志是关闭的,则转入第二步。否则,特殊位标志仍然是打
2013-12-26 09:47:54 611
原创 复习笔记之一 --暂停或者重启进程中的所有线程
//****************************************************////输入参数:dwProcessId:进程ID。fSuspend:是否暂停。//// GetCurrentProcessId()获得当前可执行程序进程的ID 返回 DWORD////**********************************************
2013-12-26 09:44:35 935
转载 Unicode编码识别HTML中的转义字符------字符解析表
//+------------------------------------------------------------------------- // // Method: CSpecialCharHashTable::CSpecialCharHashTable // // Synopsis: Constructor // 转自:zhao4zhong1
2013-12-24 10:34:38 2963
原创 gif/bmp/jpeg图像开发---------图像内部写入加密字符
1、必备知识:(1) bmp、jpg、gif格式详细解析(2)图像开发常用算法2、开发环境(1)win平台 VS2010 C++3、应用 (源代码不贴了,如若需要,留言吧)(1)图像标识也就是说将指定的字符或者加密信息写入到图片中。这是最简单的使用方式,不考虑安全性。1、打开图像获得图像句柄 FILE* hFile=fopen(T2A(filena
2013-12-11 17:36:03 3116
原创 gif 格式图片详细解析
1.概述~~~~~~~~ GIF(Graphics Interchange Format,图形交换格式)文件是由 CompuServe公司开发的图形文件格式,版权所有,任何商业目的使用均须 CompuServe公司授权。 GIF图象是基于颜色列表的(存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。GIF文件内部分成许多存储块,用来存储多幅图象或者是决
2013-12-11 17:05:34 49978 6
转载 VC数字图像处理编程
数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。 “图”是物体透射光或反射光的分布,“像”是人的视觉系统对图的接收在大脑中形成的印象或认识。图像是两者的结合。人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约80%左右)来自视觉所接收的图像
2013-12-04 17:30:59 9410 1
转载 利用BMP图片水印技术写入加密信息
本文主要和大家讨论一下BMP图片水印技术。其实BMP图片水印技术就是在BMP图片中写入编码后的数据,但写入数据后的图片在外观上和原始图片没有区别(只有文件哈希值改变),并能用特定的程序将写入的信息还原出来。 BMP图片规格 BMP图片存放时按照每个像素的RGB信息存储,每个像素的颜色用一个字节(8bit)存放。BMP图片的文件头如图1和图2所示。图1图20x4
2013-12-04 17:02:54 3426
原创 枚举获得系统字体
int CALLBACK EnumFontFamProc(LPENUMLOGFONT lpelf,LPNEWTEXTMETRIC lpntm,DWORD nFontType,long lparam){ CGetSystemFontDlg* pWnd = (CGetSystemFontDlg*)lparam;//窗口句柄 if(pWnd->m_font != (lp
2013-09-24 14:19:48 1578
转载 串口同步传输与异步传输
同步传输是用于一次发送完整的数据块。在同步传输中,每一比特的持续时间是相同的,而且在字符传输中,在一个字符的最后一个比特结束和下一个字符的第一个比特开始之间的时间间隔或是零,或是传输一个完整的字符所要求时间的整数倍。 异步传输,每次发送一个字符,并且一个字符和下一个字符之间没有任何固定的时间关系。字符之间可以没有时间间隔地紧接着在一起全部发送,或者在几秒或几个小时之内发送这
2013-08-09 10:19:54 1584
原创 strcpy和memcpy 区别
1、strcpy 只用于复制字符串,区域不可重叠。不需要声明复制长度,遇到‘\0’自动停止2、memcpy:用于复制多种类型数据,区域可以重叠。若目的地址存在数据,复制时进行覆盖。声明数据长度
2013-08-02 13:31:36 649
原创 "指针+int " 的结果详解。
指针+int 的结果:1、将指针向右便宜了int(整数)位。2、如:char a[10]; a+2: 指针移到了a[2]的位置,因此a的值也响应变化。3、再次举例,char *str="abcd"; str+2=cd;
2013-08-02 11:27:29 902
原创 PostMessage和SendMessage 区别(很容易忽略)
SendMessage函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。
2013-08-01 11:11:20 760
原创 Qt中 QString 和int, char等的“相互”转换
int ,float ,double转换为QString有两种方法1.使用QString::number();如:[cpp]view plaincopyprint?long a = 63; QString s = QString::number(a, 10); // s ==
2013-07-23 11:48:48 671
转载 QDialog类参考
QDialog类参考QDialog类是对话框窗口的基类。 详情请见……#include qdialog.h>继承了QWidget。被QColorDialog、QErrorMessage、QFileDialog、QFontDialog、QInputDialog、QMessageBox、QProgressDialog、QTabDialog和QWizard继承。所有成员函数的列表。
2013-07-18 17:11:31 2352
转载 DirectShow 在VS2005中环境配置
先介绍系统环境:XP Professional sp2visual studio 2005 version 8.0.50727.42DirectX 9.0(9.0b) SDK Update - (Summer 2003)首先,就是编译baseclasses,什么是baseclasses?打开你的dx的sdk安装目录,例如:D:\DX90SDK\Samples\C++\Dir
2013-06-27 14:58:08 627
原创 wsprintf swprintf sprintf 相关
wsprintf要求的第一个参数是LPTSTR,假设环境是UNICODE的,那么LPTSTR相当于就是wchar_t* 就是宽字符指针,在非Unicode环境下就是char*有关格式化字符串的函数还有如下,详细用法各位可以查看MSDN,和上面所介绍的都差不多sprintf 单字节版本的C/C++库函数swprintf 宽字节版本的C/C++库函数而我们上面的wspr
2013-06-05 12:08:22 1552
原创 KMP算法实现
#include "stdafx.h"#include #include using namespace std;void get_next(string T,int *next);int Index_KMP(string s,string T,int pos);void get_nextval(string T,int *nextval);void get_next(
2013-06-03 17:47:13 633
原创 类中线程的声明注意事项
其实类的静态函数就跟全局函数是一个样子的, 只是调用的时候要加下个类修饰符而以.至于为什么不能是非静态成员函数呢, 因为非静态成员函数都会在参数列表中加上一个this指针为为参数, 这样的话你写的线程函数就不符合调用规定了.比如 DWORD WINAPI ThreadFun(LPVOID); 是非静态的,实际编译后,就会变成DWORD WINAPI ThreadFun(LPVO
2013-04-17 22:39:57 748
原创 有关NEW MALLOC区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于
2013-04-17 21:51:09 622
原创 有关中断
中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕后,再返回被中断程序的间断处,继续执行原程序。 硬件中断导致处理器通过一个上下文切换(context switch)来保存执行状态(以程序计数器和程序状态字等寄存器信息为主); 软件中断则通常作为CPU指令集中的一个指令
2013-04-17 21:49:38 1034
原创 有关0x67a9
绝对地址赋值int* 2009-12-22 16:19:44| 分类:c++ | 标签:|字号大中小 订阅嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66.编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。 这一问题测试你是否知道为了访问一绝对地址把一个
2013-04-17 21:35:17 1463
Centos6 yum国内源.zip
2021-12-23
codejock Demo
2016-07-24
netlogctl WINCE 抓包
2014-07-01
MFC MDI和SDI非客户区框架界面美化之----界面全面美化
2014-02-12
MFC MDI和SDI非客户区框架界面美化之----标题栏以及边框美化
2014-02-12
GDI+ 数字图像处理 优秀作品 非常经典
2013-12-24
Visual C++打印编程技术与工程实践
2012-03-07
Visual C++ 打印编程技术与工程实践 光盘源码
2012-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人