摘要:
PB是一种面向C/S方式的数据库应用程序的开发工具,PB拥有数据窗口、嵌入式SQL语句等技术,在开发数据库应用程序时显得特别方便。但在涉及到系统底层的一些功能时,PB本身提供的功能就有些不尽如人意。因为Windows操作系统提供给用户的接口是C语言函数形式,而VC在调用系统底层功能方面,从编程角度来讲就要方便得多。VC还有许多PB所不具备的优点,比如数据结构表达能力强,实现复杂算法的程序相对容易开发,运行速度快等。此外,不少外围设备的驱动程序提供的也是C接口。若能将这两种语言结合起来使用,充分发挥它们各自的优点,将会大大提高开发效率、增强应用程序的功能。动态链接库简述动态链接库(Dynamic 阅读全文
posted @ 2012-11-07 16:54
郑文亮
阅读(3526)
评论(0)
推荐(0)
摘要:
网上关于MFC下、及非MFC检测内存泄露的方法很多,当然都是基于陈旧的VC++6.0版本的,虽然和对我用处不大,但是只是让我明白了几点:1.非MFC下需要自己动手添加编写内存检测代码,MFC下其调试输出窗口就可以显示是否有内存泄露问题;2.显示内存泄露的时候,一般有两种情况:(1)指明泄露代码语句:g:\circle\2010227\flameui\0901_flamedetect_multhread\flamedetect\flamedetectdlg.cpp(312) : {96352} normal block at 0x02D16928, 256 bytes long.Data: &l 阅读全文
posted @ 2012-11-07 16:43
郑文亮
阅读(1488)
评论(1)
推荐(1)
摘要:
今天运行了一段程序: 1 #include "stdafx.h" 2 3 4 int _tmain(int argc, _TCHAR* argv[]) 5 6 { 7 8 9 return 0;10 }11 void f(int x,int y)12 {13 15 int *q=&(x++);16 17 18 }没有编译过去报错说:“&”要求左值!开始学习:1.关于++a和a++的故事实际运算:++a等价于 a=a+1而 a++等价于(t=a;a=a+1,t);基本意思就是说所以t这个东西是个临时的东西放到哪了?我们来看一下汇编指令:1 7: ... 阅读全文
posted @ 2012-11-07 14:43
郑文亮
阅读(727)
评论(0)
推荐(0)
摘要:
一:使用delete删除new分配的数组是要注意的事项 1.不要使用delete释放不是new分配的内存 2.不要使用delete释放同一内存块两次(也就是同一指针变量) 3.如果用new[]分配内存分配内存侧用delete[]释放内存二:指针小结 1.声明指针 要声明特点类型的指针如下面格式 int *pi; double *pd; 2.给指针赋值 应将内存地址赋予指针,可以对变量名用&操作符,来获取命名的内存地址,new操作符返回 未命名的内存地址。 int pa=3; pi=π //赋予的地址而不是值 pd=new char;3.解除指针引用对指针解除引用意味着获取 阅读全文
posted @ 2012-11-07 14:27
郑文亮
阅读(1031)
评论(2)
推荐(0)
摘要:
要了解指针,多多少少会出现一些比较复杂的类型,其实要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,其原则: 从变量名处起,根据运算符优先级结合,一步一步分析。int p; //这是一个普通的整型变量int *p; //首先从P处开始,先与*结合,所以说明P是一个指针,然后再与int结合,说明指针所指向的内容的类型为int型.所以P是一个返回整型数据的指针int p[3]; //首先从P处开始,先与[]结合,说明P是一个数组,然后与int结合,说明数组里的元素是整型的,所以P是一个由整型数据组成的数组int *p[3]; //首 阅读全文
posted @ 2012-11-07 14:13
郑文亮
阅读(556)
评论(1)
推荐(1)
摘要:
一、 Printf 输出格式C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项。各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:表示输出类型的格式字符 格式字符意义a 浮点数、十六进制数字和p-计数法(C99)A 浮点数、十六进制数字和p-计数法(C99)c 输出单个字符d 以十进制形式输出带符号整数(正数不输出符号)e 以指数形式输出单、双精度实数E 以指数形式... 阅读全文
posted @ 2012-11-07 13:11
郑文亮
阅读(1786)
评论(0)
推荐(0)
摘要:
在微软vc提供的头文件中有定义在winnt.h中typedef long LONG;在windef.h中typedef LONG LRESULT;所以LRESULT就是long,也就是长整形之所以取名类LRESULT,L=>longresult表示结果,说明这个函数的返回值是某个结果仅此而已 阅读全文
posted @ 2012-11-07 11:27
郑文亮
阅读(4425)
评论(0)
推荐(1)
摘要:
L表示long指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用,没有实际意义。即win32中,long,near,far指针与普通指针没有区别,LP 与P是等效的。P表示这是一个指针。T表示_T宏,这个宏用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串。STR表示这个变量是一个字符串。C表示是一个常量,const。LPTSTR: 如果定义了UNICOD 阅读全文
posted @ 2012-11-07 11:07
郑文亮
阅读(1390)
评论(0)
推荐(0)
摘要:
&是取地址运算符,表明只把变量的地址传出去,改变变量的值。*是传递指针,虽然也改变变量的值,但如果要改变原变量的地址时,则不会影响主调函数中该变量的地址,而&则会改变。你可以用一个实例去做个实验。int main(){int a = 1 , b = 2;swap1(a, b);cout <<"a = "<< a << " ,"<<"b="<<b;swap2(a,b);cout <<"a = "<< a << 阅读全文
posted @ 2012-11-07 10:31
郑文亮
阅读(813)
评论(0)
推荐(0)
摘要:
CloseHandle()函数的使用??很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢?================================================Closing a thread handle does not terminate the associated thread. To remove a thread object, you must terminat 阅读全文
posted @ 2012-11-07 09:44
郑文亮
阅读(996)
评论(0)
推荐(0)
浙公网安备 33010602011771号