
VC++ 基础学习
文章平均质量分 56
zhuxian2009
音视频,流媒体。量化交易系统,大道至简。
展开
-
Win10下编译libzmq-4.3.4
编译zmq并不难,但是重头摸索,还是要耗费些许时间的,留个记录。网络上的文章,都会让你去这里下载:https://zeromq.org/download/进去以后,发现已经没有下载链接了,至少今天没有了。所以,只能重新编译。1. 源码https://github.com/zeromq/libzmq当前最新的发布:https://github.com/zeromq/libzmq/releases/tag/v4.3.4拉到最下方,下载源码。2. cmake生成工程值得注意的是,源码原创 2021-04-22 17:45:05 · 2594 阅读 · 1 评论 -
CoInitializeEx正确判断方式
hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); //hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); // Multiple calls to CoInitializeEx by the same thread are allowed as long // as they pass the same concurrency flag, but subsequent valid c...原创 2020-07-17 15:31:56 · 1471 阅读 · 0 评论 -
多显示器下判断ppt是否全屏播放
#include <Windows.h>#include <stdio.h>#include <tchar.h>#include <string.h>#include <iostream>#include <TlHelp32.h>#include <vector>#include <algorithm>bool CheckSame(DWORD dwProcessID, int niX, int.原创 2020-07-10 19:03:10 · 444 阅读 · 0 评论 -
最简短的写测试文件代码段
static int nCount = 0; static FILE *pMyPCMFile = fopen("./test.pcm", "wb"); if(NULL!=pMyPCMFile && nCount<1000) { fwrite(pPl...原创 2019-12-18 14:47:58 · 184 阅读 · 0 评论 -
boost无锁队列queue
boost基本库包含很多实用的类库,比如队列,以下是高性能queue的简单例子1.创建工程,然后设置头文件和lib库的路径,值得注意的是,Debug时必须选择“多线程调试(/MTD)”,Release时选择"多线程(/MT)";2.包含头文件#include #include #include #include using namespace boost;using原创 2015-08-29 11:56:28 · 8129 阅读 · 2 评论 -
一个函数将int,float,double等类型转string
#include using namespace std;templatestring ToString(T TValue){ stringstream ss; ss<<TValue; return ss.str();}使用方法string str = ToString(698);string str=ToString(3.14159);原创 2014-12-17 09:56:55 · 623 阅读 · 0 评论 -
重叠IO--命名管道同时进行读写操作
弄了一整天了,总算初步完成以下功能:产原创 2014-11-07 18:26:33 · 4282 阅读 · 0 评论 -
线程基类
每次创建线程相当麻烦,总是不记得一些参数和原创 2014-09-24 18:27:16 · 745 阅读 · 0 评论 -
获取和设置应用程序的工作目录
1.获取本exe的所在目录std::string GetProcFolder(const char* module_name/* = NULL*/){ std::string ret_str = ""; char tempbuf[MAX_PATH]; GetModuleFileNameA(GetModuleHandleA(module_name),tempbuf,MA原创 2014-07-17 17:59:39 · 1558 阅读 · 0 评论 -
MySQL Connector C++ 1.1.3和boost_1_55_0
今天想用MySQL Connector 来访问Mysql,记录全过程。1.下载安装下载MySQL Connector C++,下载地址:http://dev.mysql.com/downloads/connector/cpp/目前最新Windows版本1.1.3;本机环境是windows XP 32位系统,VS 2005开发环境。安装完成以后,在原来安装Mysql的目录C:原创 2014-02-26 18:22:07 · 2232 阅读 · 0 评论 -
HID开发,'DEV_BROADCAST_DEVICEINTERFACE' : undeclared identifier
在人体输入学设备开发中,有时遇到 'DEV_BROADCAST_DEVICEINTERFACE' : undeclared identifier的错误,需要在stdafx.h中,添加#define WINVER 0x0501例如:#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#define原创 2013-06-09 09:56:43 · 2030 阅读 · 0 评论 -
VC 目录不存在就创建
发现一个比较简单的判断一个目录是否存在,不存在就创建的代码 DWORD dwFileAttr=GetFileAttributes(szFilePath); if (dwFileAttr==0xFFFFFFFF)//文件夹不存在 { CreateDirectory(szFilePath,NULL); }原创 2013-04-18 22:47:32 · 914 阅读 · 0 评论 -
vc 在IE8下调试 ActiveX的解决方案
莫名其妙的,用ie调试activex控件,竟然不能进入断点调试。解决办法:默认情况下,为了防止程序崩溃,IE会启动2个进程。把IE作为ActiveX的调试程序是无法进行调试。cmd->regedit在注册表HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main 下新建一个名为“TabProcGrowth” 的DWO转载 2013-01-15 12:00:43 · 699 阅读 · 0 评论 -
位结构体和位域(转)
1. 位域的定义 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用转载 2012-10-17 18:27:17 · 764 阅读 · 0 评论 -
VC获取掩码
CString GetMask(LPCTSTR szIP){ CString szRet; for(int i=0;i<m_iphelper.GetAdapterCount();i++) { std::vector masklist=m_iphelper.GetAdapterIPMaskList(i); std::vector iplist=m_iphelper.Get原创 2012-02-13 10:01:46 · 855 阅读 · 0 评论 -
VC6.0突然打开原来工程特别慢或者打不开
近几日,对原来工程做了一些修改,感觉打开特别慢,甚至打不开,在Loading Workspace时就卡住了。解决办法:删除工程文件中的三个文件,分别是:*.ncb * .opt * .plg,这样就可以飞快的打开了。原创 2011-11-25 09:44:34 · 2190 阅读 · 0 评论 -
MFC中两个头文件相互包含出错的解决方法
<br />例如,在MFC工程中有两个类,Class A 和Class B;<br />我想在类A的头文件中定义类B类型的指针:A* a;<br />则在B.h中:#include "A.h"<br />同时,我要再类B头文件中定义类A类型的指针: B* a;<br />则在A.h中:#include "B.h"<br />这种情况就是两个头文件相互包含了对方,势必出现错误!!<br /> <br />解决方案:<br />在其中一个头文件中,不用include,而改成class x;<br />例如,去原创 2011-03-28 01:32:00 · 1496 阅读 · 2 评论