
C/C++
文章平均质量分 62
zhengbo2006
这个作者很懒,什么都没留下…
展开
-
C语言之详解#ifdef、宏等妙用
这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endi原创 2010-01-18 15:19:00 · 1556 阅读 · 3 评论 -
Visual Studio 2005 创建dll动态链接库
1 在Visual C++ 里面选择Win32,新建一个Win32 Project工程,名称为RuiSearch。2 在Application Settings窗口,Application type中选择 DLL; 附加选项中选择导出符号,点击完成。3 新建RuiSearch.cpp和RuiSearch.h两个文件。4 在RuiSearch.h里面会自动生成如下代码:#ifdef原创 2012-05-30 18:08:50 · 1025 阅读 · 0 评论 -
C--文件读写
学习要求:1.理解文件的概念2.掌握文件的打开与关闭的方法3.掌握文件的读写、定位及出错检测的方法C文件概述1、“文件(file)”:所谓“文件”是指一组相关数据的有序集合。数据以文件的形式存放在外部介质(一般是磁盘、磁带、光盘等)上,在操作系统中是以文件为单位对数据进行管理的。以文件名作为访问文件的标识。2、C语言把文件看作一个字节序列,即由一连串的字节组成。根据文件中的转载 2012-05-30 15:38:21 · 767 阅读 · 0 评论 -
解开Windows下的临界区中的代码死锁
本文假定您熟悉 Win32、C++ 和多线程处理。摘要临界区是一种防止多个线程同时执行一个特定代码节的机制,这一主题并没有引起太多关注,因而人们未能对其深刻理解。在需要跟踪代码中的多线程处理的性能时,对 Windows 中临界区的深刻理解非常有用。 本文深入研究临界区的原理,以揭示在查找死锁和确认性能问题过程中的有用信息。它还包含一个便利的实用工具程序,可以显示所有临界区及其当前状态。转载 2011-11-21 11:55:23 · 943 阅读 · 0 评论 -
VC++ QQ盗取密码的例子
<br />不得不先说一下API函数SendMessage:<br /><br />使用SendMessage向编辑框窗口发送WM_GETTEST消息,可以轻易获取到编辑框的内容(就算这个窗口不属于同一进程)。<br />但是有一个特例,那就是当编辑框窗口具有ES_PASSWORD风格(即密码输入框)且不输入同一进程时,使用上面的方法就失效了。<br />通俗的说,就是当你要使用SendMessage读取的密码框不属于同一个进程时,是读取不到任何内容的。<br />这也许是微软从安全角度考虑做的手脚吧。<b转载 2010-11-26 10:55:00 · 848 阅读 · 0 评论 -
error LNK2001: unresolved external symbol _main解决办法
error LNK2001: unresolved external symbol _main解决办法 解决外部符号错误:_main,_WinMain@16,__beginthreadex -!tmy`yK 在创建MFC项目时, 不使用MFC AppWizard向导, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: m1+4#转载 2010-03-01 20:05:00 · 525 阅读 · 0 评论 -
VC++读写ini
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为:BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,原创 2010-02-02 14:19:00 · 633 阅读 · 0 评论 -
_RecordsetPtr使用方法
_variant_t vUsername,vID,vname; //变量声明_RecordsetPtr m_pRecordset; //记录集CString strid;_ConnectionPtr connection;m_pRecordset.CreateInstance(__uuidof( Recordset )); //创建实例m_pRecordset->Open("SELEC转载 2010-02-01 14:48:00 · 2941 阅读 · 3 评论 -
SendMessage 和 PostMessage , GetMessage 和 PeekMessage区别
1.SendMessage 和 PostMessagePostMessage 和SendMessage的区别主要在于是否等待其他程序消息处理。PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行;而SendMessage必须等待其他程序处理消息后才返回,继续执行。这两个函数的返回值也不同,PostMessage的返回值表示PostMessage函数执行是否正确,而转载 2010-01-26 16:22:00 · 630 阅读 · 0 评论 -
VC++ 6.0快捷键大全
Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2:上一个书签Shift+F2:上一个书签Alt+F2 :编辑书签Ctrl+F2:添加/删除一个书签F12:Goto definitionShift+F12:Goto referenceCtrl+Num+:Displays the next symbol definition o转载 2010-01-19 13:45:00 · 562 阅读 · 0 评论 -
四个字节转换成long Int整形
#include int main(void){ unsigned char array[4] = {"0x0","0x0","0x02","0xe7"}; unsigned long num; num = 0; for(int i=0; i<sizeof(array); i++) { num<<=8; num |= array[i]; } printf("num = %转载 2012-06-07 16:16:43 · 3626 阅读 · 0 评论