04 2013 档案
摘要:............心中要有一内存块,以便理解知识计算机储存数据必须知道数据的3种属性:1.存储在何处.......并起名2.值3.类型(1)int a;a=30;(2)int *b=&a;(3).int *a,b;注意...整型....指针a,整型...变量b,对每个指针都要有一个*; .......................指针..........................................1.指针是一个变量,存储的是...值的地址,而不是值本身,指针变量 是指向特定变量类型指针,和数组相似..int* tax;...............指向int
阅读全文
摘要:遍历速度插入删除速度随机访问速度备注Set快快慢比list多占一个指针的存储空间List快慢快必须之前知道数组元素个数,因为申请内存是连续长度明确的HashMap慢快快适合海量数据,o(1)的随机访问速度,不是可遍历变体Set快快快set的基础上多占一个List的控件,不过各种性能都好变体List快插入快不能删除快各种性能都好就是不能有删除操作变体Set:SetList,在SetList,保存一个状态(listEnable),调用get(index)方法时,如果listEnable=false,为该SetList简历一个List,用set元素填充List个元素,用List随机访问。如果list
阅读全文
摘要:转自:http://www.cnblogs.com/shiney/archive/2011/10/20/2219084.html造成LNK2005错误主要有以下几种情况:1.重复定义全局变量。可能存在两种情况:A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:int g_Test;那么在使用的CPP文件中就应该使用:extern int g_Test即可,如果还是使用int g_Test,那么就会产生LNK2005错误,一般错误错误信息类似:AAA.obj error LNK
阅读全文
摘要:#pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是每个编译器都有这个定义了。#ifndef,#define,#endif这个是C++语言相关,这是C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式
阅读全文
摘要:viewbox会自动缩放里面的组件,如果里面的组件已有确定的大小,就会均匀的缩放。<Window x:Class="WpfTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="768" Width="1920
阅读全文
摘要:#include <stdio.h>#include <io.h>#include <FCNTL.H> AllocConsole(); //打开控制台窗口以显示调试信息 SetConsoleTitleA("Debug Win Output"); //设置标题 HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台输出句柄 INT hCrt = _open_osfhandle((INT)hCon, _O_TEXT); ...
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_597fcab10100ck4a.html1、 DLL的概念DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。这些可以直接拿来使用。静态链接库与动态链接库的区别:(1)静态链接库与动态链接库都是共享代码的方式。静态链接库把最后的指令都包含在最终生成的EXE文件中了;动态链接库不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。(2) 静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静
阅读全文
摘要:转自:http://www.cnblogs.com/cswuyg/archive/2011/10/06/DLL2.html2011.10.6烛秋一、导出类的简单方式这种方式是比较简单的,同时也是不建议采用的不合适方式。只需要在导出类加上__declspec(dllexport),就可以实现导出类。对象空间还是在使用者的模块里,dll只提供类中的函数代码。不足的地方是:使用者需要知道整个类的实现,包括基类、类中成员对象,也就是说所有跟导出类相关的东西,使用者都要知道。通过Dependency Walker可以看到,这时候的dll导出的是跟类相关的函数:如构造函数、赋值操作符、析构函数、其它函数,
阅读全文
摘要:转自:http://www.cnblogs.com/cswuyg/archive/2011/09/30/dll.html2010.8.31~2010.9.1总结2011.9.28~30整理烛秋动态链接库的使用有两种方式,一种是显式调用。一种是隐式调用。(1)显式调用:使用LoadLibrayr载入动态链接库、使用GetProcAddress获取某函数地址。(2)隐式调用:可以使用#pragma comment(lib, “XX.lib”)的方式,也可以直接将XX.lib加入到工程中。DLL的编写编写dll时,有个重要的问题需要解决,那就是函数重命名——Name-Mangling。解决方式有两种
阅读全文
摘要:http://stackoverflow.com/questions/6054300/how-to-attach-a-resource-file-to-an-existing-executable-fileAPI:BeginUpdateResourceUpdateResource
阅读全文
摘要:转自:http://www.codeproject.com/Articles/356/Bitmap-Basics-A-GDI-tutorialWindows GDI Tutorial 1 - Drawing a bitmapBitmaps and palettes are both potentially the most useful part and most confusing parts of the GDI subsystem to neophyte coders. In this, and the following GDI tutorials I will explain how
阅读全文
摘要:Bitmap FunctionsAlphaBlendBitBltCreateBitmapCreateBitmapIndirectCreateCompatibleBitmapCreateDIBitmapCreateDIBSectionCreateDiscardableBitmapExtFloodFillFloodFillGdiAlphaBlendGdiGradientFillGdiTransparentBltGetBitmapBitsGetBitmapDimensionExGetDIBColorTableGetDIBitsGetPixelGetStretchBltModeGradientFill
阅读全文
摘要:CreateCompatibleDC和CreateCompatibleBitmap用来创建兼容设备和位图,可以创建离屏表面,做完绘图操作再用BitBlt把数据拷贝到当前DC
阅读全文
摘要:// jhgj.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "jhgj.h"#include <objidl.h>#include <GdiPlus.h>using namespace Gdiplus;#pragma comment (lib,"Gdiplus.lib")#define MAX_LOADSTRING 100VOID OnPaint(HDC hdc){ Graphics graphics(hdc); Pen pen(Color(255, 0, 0,
阅读全文
摘要:转自:http://www.codeproject.com/Articles/7443/DFB-vs-DIBIntroductionWhat is a bitmap and what is a DIB? Is there a difference? Why the Windows API has such functions asCreateBitmap,CreateCompatibleBitmap,CreateDIBitmap, andCreateDIBSection? And what is the difference betweenSetBitmapBitsandSetDIBits?H
阅读全文
摘要:位图分为两种DDB和DIB DIB:即兼容位图,独立于设备存在,有描述颜色格式的信息头,如256色1字节、真色彩argb。存在于内存中,是我们写程序的时候能控制的有位图数据格式的数据 DDB:即设备位图,已经被gdi考到显存后的图像格式,没有信息头,显示格式就是当前的显示设备支持的格式。是我们不能控制的,我们只能通知gdi将某个DIB转化为DDB拷贝到显存显示,是不能直接控制DDB的获得DIB的数据: 直接用GetBitmapBits获得DDB的数据: 将位图画到一个自己创建的兼容DC,再创建一个兼容DIB位图,用BitBlt把数据从当前DC拷贝到兼容位图,再用GetBitmap...
阅读全文
摘要:(2) API Hook技术在实际截屏时,采用API函数实现,截取DDB位图,必须经过一次DDB到DIB的转换;而驱动技术直接从其管理的DIB位图(表面)中将截取区域的图形数据拷贝到应用程序,显著的降低了一次截屏的时间消耗 计算机屏幕图像的截取在屏幕的录制、计算机远程控制以及多媒体教学软件中都是关键术,基于Windows操作系统有多种截屏方法,研究的重点集中在如何快速有效的截取DBI(Device-Independent Bitmap)格式的屏幕图形数据现在商业软件流行的截屏技术主要采取的Api Hook技术,但这种技术一次截屏仍有较大的时间消耗,这样就对运行软件的硬件仍有较多的限制,而且是.
阅读全文
摘要:转自:http://kb.cnblogs.com/page/171498/从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示......这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。 零、boot的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot原来的意思是靴子,"启动"与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull oneself up by one's bootst
阅读全文
摘要:转自:http://blog.csdn.net/kehui123/article/details/5298337switch与if..else 的执行的效率问题今天读一前辈的程序,发现其在串口中断里面为了分析协议的报文类型,在中断函数里面使用if..else语句。因为报文类型在现在看来只有两种,以后有可能还会增加,不确定。本人以为这样用有些不妥,为什么不用switch语句呢?猜想是不是因为效率方面的考虑呢,毕竟我们应该尽量是中断的处理代码更加简洁,时间效率更高才好。所以本人就查找相关资料,资料显示switch语句反而比ifelse的执行效率要高。下面来详细描述switch与ifelse的区别。
阅读全文
摘要:转自:http://www.cnblogs.com/qytan36/archive/2010/09/27/1836569.html在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。在实际使用过程种有什么区别呢?主要是符号位
阅读全文
摘要:gdi截屏// TTTest.cpp : 定义应用程序的入口点。//#include "stdafx.h"#include "TTTest.h"#include <stdio.h>LPVOID screenCaptureData=NULL;HBITMAP hBitmap;HDC hDDC;HDC hCDC;int nWidth;int nHeight;void initGDI(){ // Get screen size nWidth = GetSystemMetrics(SM_CXSCREEN); nHeight = GetSystemMet
阅读全文
摘要:HCURSOR GetCurrentCursorHandle(){ POINT pt; HWND hWnd; DWORD dwThreadID, dwCurrentThreadID; HCURSOR hCursor = NULL; // Find out which window owns the cursor GetCursorPos(&pt); hWnd = WindowFromPoint(pt); // Get the thread ID for the cursor owner. dwThreadID = GetWindowThre...
阅读全文

浙公网安备 33010602011771号