
VC++
文章平均质量分 63
Jakou
从事C和Android开发的程序猿。
展开
-
windows 下编译libcurl
windows 下编译libcurl - 大米粥的博客 - 博客园libcurl windows openssl ssh2 编译过程https://www.cnblogs.com/damizhou/p/11744096.html因为linux平台采用了libcurl,有一个程序移植到到windows平台,再linux采用libcurl。在windows下准备也采用该库。在网上搜索了几位同行写的,步骤上面有缺失。本文将以详细的步骤,介绍libcurl的编译。下面是步骤:1. 下载源代码转载 2022-01-18 10:35:36 · 1092 阅读 · 0 评论 -
常用通讯中间件MQ
ZeroMQ:轻量,高效,跨平台,多语言。(据说存在偶发丢失消息的问题) ActiveMQ:Apache出品,最流行的,跨平台,多语言。 Boost::ASIO RabbitMQ MSMQ自用备查,使用前可按顺序具体调查,选择合适应用场景的MQ中间件。...原创 2021-08-18 11:01:04 · 230 阅读 · 0 评论 -
c++ 操作excel指定文件格式
longXlFileFormat;if(!xlFormat.CompareNoCase(_T("xls")))XlFileFormat=56;elseif(!xlFormat.CompareNoCase(_T("xlsx")))XlFileFormat=51;elseif(!xlFormat.CompareNoCase(_T("csv")))XlFileFormat=6;elseXlFileFormat=56;xls.SaveAs(sFileName,_variant_t(XlFi...原创 2020-12-03 17:51:27 · 395 阅读 · 0 评论 -
[MFC] 界面闪烁若干种解决办法
界面闪烁原因,可以参考这里总结了工作中使用过的如下几种方法 ,具体原理就不说了,如果有相应的UI开发经验 应该很容易懂,不懂的话根据我提供的关键字自己搜索一下具体原理。1、双缓冲这个是最基本的 不详说了 可自己搜索相关信息2、OnEraseBkgnd { return TRUE; }这一种也没什么好说的3、对窗口设置WS_CLIPCHILDREN和WS_CLIPSIBLINGS风格至于为什么可以解决闪烁 可MSDN上查看这两种属性的具体信息4、重绘窗口时 尽量用InvalidateRect 不要..转载 2020-08-12 17:12:46 · 2962 阅读 · 0 评论 -
利用框架更新弹出菜单状态
CMenu menu;menu.LoadMenu(idMenu);CMenu *pSubMenu = menu.GetSubMenu(0);AfxGetMainWnd()->SendMessage(WM_INITMENUPOPUP, (WPARAM)(pSubMenu->GetSafeHmenu()), MAKELPARAM(0, FALSE));pSubMenu-&g...原创 2020-01-07 12:30:02 · 146 阅读 · 0 评论 -
Windows消息队列、线程消息队列,窗口消息的概念与关系
1.窗口Windows程序是由一系列的窗口构成的,每个窗口都有自己的窗口过程,窗口过程就是一个拥有有固定 Signature 的 C函数,具体格式如下:LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);窗口类型:可重叠窗口(Overlapped Window),弹出窗口(Pop-up Windo...转载 2018-06-28 18:21:15 · 3818 阅读 · 2 评论 -
根据内存泄漏位置添加断点
_CrtSetBreakAlloc(XXX); XXX达标内存提示信息中大括号中的数字。Detected memory leaks!Dumping objects ->{98500} normal block at 0x05785AD0, 152 bytes long.Data: << N N x 7 > 3C AC 4E 10 00 00 00 00 B...原创 2018-07-03 15:15:16 · 301 阅读 · 0 评论 -
正则表达式懒惰模式(.*? .+?)
后边多一个?表示懒惰模式。必须跟在*或者+后边用\s匹配任意的空白符(包括空格,制表符(Tab),换行符,中文全角空格)\S则是任意不是空白符的字符?涉及到贪婪模式当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aab...转载 2018-05-30 18:28:28 · 6788 阅读 · 1 评论 -
C++ 根据扩展名获取文件图标、类型
转自:https://blog.youkuaiyun.com/liang19890820/article/details/51822438#源码在 Windows 系统中,根据扩展名来区分文件类型,比如:.txt(文本文件)、.exe(可执行程序)、.zip(压缩文件),下面,根据扩展名来获取对应的文件图标、类型。#include <windows.h>#include <iostream...转载 2018-05-30 18:24:32 · 2175 阅读 · 1 评论 -
异常处理之不要放过First-chance exception
引自:https://blog.youkuaiyun.com/m_star_jy_sy/article/details/5578998不要放过First-chance exception1)什么是First-chance exception VC6调试环境下(debug)运行程序时,经常在output窗口看到有 First-chance exception in hotfoxd.exe (KERN...转载 2018-07-17 13:19:58 · 4508 阅读 · 0 评论 -
c++/cli中配置文件app.config
转自:https://blog.youkuaiyun.com/shellching/article/details/8492865C#项目VS会自动帮助复制配置文件,可是C++/CLI这个倒霉的捡来的孩子就要自己动手了项目属性->生成事件(Build Events),三个事件点,随便添到那个步骤中:命令行:copy app.config "$(TargetPath).config"...转载 2018-11-25 10:57:23 · 481 阅读 · 0 评论 -
c++通过dll生成lib
引自:https://blog.youkuaiyun.com/yu_fujiang/article/details/51138546在使用一些没有lib的第三方库,又懒得显示加载时,根据dll生成lib就可以解决这个问题。工具:VS2010, VLC的libvlc.dll打开工具 Visual Studio Tools command promopt (Start -> All Progra...转载 2018-11-25 12:56:44 · 1968 阅读 · 0 评论 -
C++成员变量指针
#include<iostream>class Test{public: int a; int b;};int main(){ Test t; t.a = 10; int Test::* varsa = &Test::a; int Test::* varsb = &Test::b; std::cout...转载 2019-05-25 19:38:58 · 2535 阅读 · 0 评论 -
PDF 库
1. pdflib 老外的一个库,有c/c++,java等各种版本的,非商用免费,商用收费(一个点大概一万多RMB)。因为是收费的所以功能还是比较强大,用起来比较舒服,不过前期可以用破解版。pdflib破解下载:https://download.youkuaiyun.com/download/permition/106390372.libharu,开源的库,简单的看了下纯C接口,可以研究学习一下已被...原创 2019-08-13 15:22:13 · 1304 阅读 · 0 评论 -
warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
引自:https://www.cnblogs.com/bpbp/archive/2011/07/13/2104816.html以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/...转载 2019-09-03 19:18:30 · 2274 阅读 · 0 评论 -
VS 自动编译
@echo off call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat" echo "building ...." MSBuild "%~dp0testdlg3.sln" /t:Rebuild /p:Platform=Win32 /p:Configuration=...转载 2018-04-17 10:00:38 · 2547 阅读 · 0 评论 -
VC++ 获取windows系统的版本类型
转载自:https://www.cnblogs.com/JczmDeveloper/p/3513849.htmlvc中获取windows版本信息,一般是调用GetVersionEx 这个API函数来获取的,这个API需要OSVERSIONINFOEX 这个结构体作为参数,OSVERSIONINFOEX 的对应的具体的OS版本类型详细如下:Operating system转载 2018-01-29 11:30:08 · 2627 阅读 · 0 评论 -
检查MFC程序的内存泄露
转载自:http://blog.youkuaiyun.com/netanimals/article/details/7454820C/C++的一个重要特色是可以动态的分配和释放内存,我们的口号是new和delete成对出现。可是,总会由于各种各样的原因,有内存泄露的情况发生,借助visual C++ 集成开发环境,可以方便的检查内存泄露信息,具体方法如下:1、在stdafx.h头文件中转载 2017-12-29 15:17:32 · 3435 阅读 · 0 评论 -
文件路径操作API
1. 获取路径中文件名称PathFindFileName;2.扩展名称PathFindExtension3.其它的在Shlwapi.h文件里面查就行了。原创 2016-11-07 10:56:54 · 534 阅读 · 0 评论 -
CMFCToolBar的注意事项
1. CMFCToolBar::LoadToolBarEx 可以指定工具条的大图标。2. CMFCToolBar::AddToolBarForImageCollection可以指定仅在菜单里显示的图标。3. CMFCToolBar::EnableCustomizeButton可以指定工具条自定义的响应消息处理。原创 2016-11-16 11:55:23 · 4275 阅读 · 0 评论 -
BCGControlBarPro静态链接实现方法
引自:http://www.educity.cn/wenda/493447.html昨天应一个网友的要求,测试了一下BCGControlBarPro静态链接实现方法。采用BCG向导生成的静态链接的项目会报错,提示资源及DLL找不到。经过测试,解决了这个问题,特共享出来给大家一起分享。环境:VS 2008 TE BCGPro 10.30项目属性:Static转载 2016-12-09 17:14:51 · 1821 阅读 · 0 评论 -
CTreeCtrl中Edit Label时Esc/Enter的处理
CTreeCtrl中Edit Label时Esc/Enter的处理:http://support.microsoft.com/kb/167960/en-usBUG: When you edit labels in a CTreeCtrl, you are unable to use ESC or ENTER to cancel or accept changes in Visual C++转载 2017-03-31 13:08:55 · 1554 阅读 · 0 评论 -
MFC 多文档 win7从任务栏恢复时闪烁问题
1. 解决方法1在App的InitInstance()中禁用任务栏交互BOOL CXXXApp::InitInstance(){... EnableTaskbarInteraction(FALSE);...}2. 解决方法2 参见http://ldlnew.blog.163.com/blog/static/1060746201502963259414/转载 2017-03-31 14:25:54 · 543 阅读 · 0 评论 -
Window环境变量
参考:http://blog.youkuaiyun.com/mynote/article/details/39024655常用获取系统路径的API有:GetWindowsDirectory、GetSystemDirectory、GetTempPath 等;也可使用 SHGetSpecialFolderLocation、SHGetPathFromIDList 函数获取过更多常用路径;原创 2017-06-18 17:05:22 · 377 阅读 · 0 评论 -
c++集成Python
转自:http://blog.youkuaiyun.com/georgedidi/article/details/52277087参考:http://www.cnblogs.com/bluebbc/p/4291251.html1.简介C++ 与 python都是用的比较广泛的语言,各有各的优点;C++性能优异,python简单方便库丰富,如果能够结合两者使用就很好。py转载 2017-06-20 18:45:58 · 2239 阅读 · 0 评论 -
Python调用C++
1. Python只能调用C函数接口,所有想被调用的C++函数需要用extern "C"定义。2. 示例import osimport os.pathimport shutilimport statimport sysfrom ctypes import *def main(): dllLoder = cdll.LoadLibrary dll = dl原创 2017-06-20 19:17:36 · 343 阅读 · 0 评论 -
C/C++工具资源库 (收藏)
转自:http://blog.youkuaiyun.com/xiaoxiaoyeyaya/article/details/42541419值得学习的C语言开源项目- 1. WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。转载 2017-06-20 20:48:01 · 1315 阅读 · 0 评论 -
MFC异常“所需资源不可用”
参考:http://bbs.youkuaiyun.com/topics/390481053参考:http://forums.codeguru.com/showthread.php?304223-error-quot-A-required-resource-was-unavailable-quot/page2现象:软件在运行一段时间后,弹出“所需资源不可用”,也或者是菜单栏、Ribbon变白、软原创 2017-06-14 13:15:43 · 4431 阅读 · 0 评论 -
自动检测可用串口实现串口通讯程序(可实现串口热插拔检测)
项目中一直在用串口通讯,但没有实现可用串口的自动检测和热插拔检测。今天通过查找资料实现了这些功能,所以在这里坐下记录。参考资料:http://blog.youkuaiyun.com/flydream0/article/details/8086976实现环境:VC6.01、创建基于对话框的工程2、在工程中添加串口通讯控件,添加方法如下VC6.0菜单中:工程—>增加到工程—转载 2017-09-18 12:07:26 · 7366 阅读 · 0 评论 -
BCGControlBar本地化(汉化)详解
转载自:https://www.evget.com/article/2012/6/18/17004.html概述:BCGControlBar本地化机制提供了一个创建多语言应用程序的非常简单和可靠的方法。本文将为你详细介绍如何进行BCGControlBar本地化(汉化)。BCGControlBar本地化机制提供了一个创建多语言应用程序的非常简单和可靠的方法。BCG转载 2017-11-20 10:15:59 · 1828 阅读 · 0 评论 -
【vs调试】PDB文件:每个开发人员都必须知道的
PDB文件:每个开发人员都必须知道的 一 什么是PDB文件大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的。但是他究竟是如何工作的呢,我们可能并不熟悉。本文描述了PDB文件的存储和内容。同时还描 述了debugger如何找到binay相应的PDB文件,以及debugger如何找到与binay对应的源代码文件。本文适用于所有的Native和 Managed的开发人员。转载 2017-12-21 11:48:54 · 12191 阅读 · 2 评论 -
调用cmd命令不显示命令窗口
运行cmd.exe时,加了/c参数后它将运行/c后面的命令,不加参数的话,它只执行CMD命令。system("xxx"),相当于执行cmd.exe /c xxx。使用WinExec或ShellExecute和cmd.exe /c 来达到隐藏窗口的目的。示例:WinExec("cmd.exe /c dir > d:\\abc.txt", SW_HIDE);ShellExecu原创 2018-01-11 16:41:52 · 23055 阅读 · 2 评论 -
获取EXE版本信息 GetFileVersionInfo
需要三个函数配合GetFileVersionInfoSize,GetFileVersionInfo,VerQueryValue。1. 前两个函数的使用,为VerQueryValue做准备 DWORD dwInfoSize, dwHandle; dwInfoSize = ::GetFileVersionInfoSize(m_szAppFilePath, &dwHandle);原创 2016-11-07 10:48:25 · 11717 阅读 · 1 评论