
vc
hhko12322
无耐无耐无耐啊
展开
-
vc 前景色和背景色的意义和使用
MSDN的描述:单色图与彩色图之间的转换 模拟透明的方法也包含基于windows的单色图向彩色图转换的机制,反之亦然。Windows概念中的文本颜色(前景色)和背景色被用来映射两种格式的转换。在blt操作中,当dest为彩色图,src为单色图时,在进行ROP(SRCAND,SRCAND,SRCINVERT,SRCPAINT等),操作之前,单色图src中的0(black)像素被转换转载 2012-10-07 18:17:15 · 908 阅读 · 0 评论 -
c程序头文件
.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。它的作用有: 1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明; 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。它里面应该有: 常量,结构,类型定义,函数,全局变量申明(加extern)。原创 2014-01-07 15:35:27 · 778 阅读 · 0 评论 -
值加减,别忘可能是个指针运算
在做dsp pci驱动时,有一句:WRITE_REGISTER_ULONG((PULONG) (pdx->base[TI_OPREGS] + (TI_HSR/4)), TI_DISABLE);TI_HSR 做了除以4,感觉不解,就把除以4去掉,运行。。。毫无意外的蓝屏了pdx->base[TI_OPREGS] + (TI_HSR/4)检测了它的值,发现和 pdx->base[TI_原创 2014-01-02 13:49:14 · 716 阅读 · 0 评论 -
c++实现bmp文件的读写
程序分为bmp相关的三个文件以及一个实例文件: 1.bmp格式文件的结构体定义-- bmpstruct.h 2.bmp格式文件的类定义文件-- cBMPimage.h 3.bmp格式文件的类实现文件 - cBMPimage.cpp 4示例文件--main.c 1.bmpstruct.h#ifndef BMPSTRUCT#define BMPSTRUCT//~原创 2013-09-29 09:26:49 · 1284 阅读 · 0 评论 -
visual c++ 调试版本与发行版本区别之一
变量初值 : 调试版本和发行版本在初始化变量时所作的操作是不同的,调试版本是将每个字节都赋值成 0xcc,而发布版本不对变量赋初值。原创 2013-08-25 14:57:13 · 688 阅读 · 0 评论 -
内存对齐
1 //环境:vc6 + windows sp2 2 //程序1 3 #include iostream> 4 5 using namespace std; 6 7 struct st1 8 { 9 char a ;10 int b ;11 short c ;12 };13 14 struct st215 {转载 2013-08-24 11:23:16 · 525 阅读 · 0 评论 -
关于指针
一 指针的加减操作: main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 程序输出是什么。解答: 程序输出: 2,5分析: 这里主要是考查关于指针加减操作的理解。 对指针进行加原创 2013-08-24 11:19:29 · 597 阅读 · 0 评论 -
typedef的四个用途和两个陷阱
typedef用来声明一个别名,typedef后面的语法,是一个声明。本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数。罪魁祸首又是那些害人的教材。在这些教材中介绍typedef的时候通常会写出如下形式: typedef int PARA; 这种形式跟#define int PARA几乎一样,如前面几章所述,这些教材的宗旨是由浅入深,但实际做出来的行为却是以偏盖全。的确,转载 2013-08-24 11:10:03 · 745 阅读 · 0 评论 -
vc 程序效率测试 与 如何获取系统精确时间
GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。如: DWORD time; time = GetTickCount();但是GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(voi原创 2013-08-23 22:41:41 · 818 阅读 · 0 评论 -
C语言 内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式转载 2013-08-23 22:26:38 · 610 阅读 · 0 评论 -
already defined in *.obj
造成LNK2005错误主要有以下几种情况: 11.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:int g_Test;那么在使用的CPP文件中就应该使用:extern int g_Test即可,如果还是使用int g_Test转载 2013-08-23 10:24:00 · 890 阅读 · 0 评论 -
C语言编程常见问题解答之数组
(隔段时间不看就会在实际使用中忘记掉---c语言数组、异或指针的使用),转载一下,忘时供查询 C语言处理数组的方式是它广受欢迎的原因之一。C语言对数组的处理是非常有效的,其原因有以下三点: 第一,除少数翻译器出于谨慎会作一些繁琐的规定外,C语言的数组下标是在一个很低的层次上处理的。但这个优点也有一个反作用,即在程序运行时你无法知道一个数组到底有多大,或者一个数组下标是否有效。ANSI转载 2013-08-20 16:42:54 · 3533 阅读 · 0 评论 -
c编程习惯要点
1 头文件预定义 # ifndef __MY_TYPE_H__ #define __MY_TYPE_H__ ...........//omit #endif 前两行是用来防止头文件被多次引用时重复定义而报错。预定义的那个字符是一个唯一的标志,它的命名规则为:写成两个下划线加文件名(文件名的“ . ”用一个下划线替换)加两个下划线的格式。这种宏定义原创 2013-08-06 23:04:46 · 634 阅读 · 0 评论 -
程序优化c++ 摘1
一 1 在分析一个操作执行太慢,则需要首先分类的是IO操作密集还是cpu计算密集。 这个可以这样区分,用虚拟硬盘工具(例如ramdisk tool)把一部分内存虚拟成硬盘,应用程序和基准文件都安装在虚拟硬盘上,如果程序性能改善明显,则是IO相关的问题。二 2 针对IO瓶颈的优化: 每次IO操作大约在10ms的量级,100次就是1s左右,所以尽量原创 2013-06-09 09:45:57 · 553 阅读 · 0 评论 -
vc的一点小建议
vc: 一.C-style 字符串 把脉vc++--p114 1.无法回避的结束符 采用字符数组表示字符串时,必须在数组的末尾不失时机的加上一个结束符‘\0’,否则无辜的程序会一直读取内存,其结果不堪设想。例: char msg[] = {'h','e','l','l','o'};原创 2013-03-08 09:15:54 · 601 阅读 · 0 评论 -
编写测试驱动程序的vc工程
1 。 在与驱动程序同一工作空间里,建立空项目2 。依照需要,添加头文件: #include 驱动程序中的ioctl #include "../MyDriver/Ioctls.原创 2013-12-22 13:40:13 · 854 阅读 · 0 评论