
C/C++
Kelvin_Ngan
Make things easy
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
winsocket 连接超时控制
winsocket连接超时原创 2025-02-12 20:47:05 · 268 阅读 · 0 评论 -
WinDbg内存泄露追踪
windbg内存泄露原创 2025-01-07 22:44:42 · 293 阅读 · 0 评论 -
VS后期生成事件命令行编译报错
VS命令行编译报错原创 2024-12-12 15:31:52 · 261 阅读 · 0 评论 -
ini文件读取失败
ini读失败原创 2024-12-06 20:57:41 · 201 阅读 · 0 评论 -
分析动态链接库的加载顺序
动态库的加载顺序原创 2024-11-25 10:44:02 · 191 阅读 · 0 评论 -
C++调用C# DLL之踩坑记录
C++调用C# dll原创 2024-09-18 21:16:11 · 797 阅读 · 0 评论 -
std::vector::size()-1在vector为空时并不等于-1
vector::size()-1的坑原创 2024-07-04 23:43:15 · 324 阅读 · 0 评论 -
libtiff压缩文件反而变大
libtiff压缩问题原创 2024-05-06 11:36:38 · 298 阅读 · 0 评论 -
创建文件夹和保存文件提示“系统找不到指定的文件”
系统找不到指定的文件原创 2024-02-02 11:50:07 · 928 阅读 · 0 评论 -
CMake generate之后修改install路径
CMake CMAKE_INSTALL_PREFIX修改原创 2023-12-26 10:42:30 · 517 阅读 · 0 评论 -
MFC静态链接+libtiff静态链接提示LNK2005和LNK4098
mfc静态链接兼容问题原创 2023-12-21 17:08:39 · 723 阅读 · 0 评论 -
VS2019编译时产生临时文件
VS2019编译产生临时文件原创 2023-12-10 10:36:24 · 1382 阅读 · 0 评论 -
解决win11 vs2013打开解决方案后闪退
解决vs2013解决方案闪退原创 2023-04-07 14:41:35 · 2241 阅读 · 0 评论 -
调用动态链接库接口函数报错“未经处理的异常: 0xC0000005”
DLL调用的一种错误原创 2023-03-08 14:19:17 · 2061 阅读 · 0 评论 -
VS给软件设置版本号/软件图标无效
VS资源文件失效原创 2023-01-09 18:04:34 · 471 阅读 · 0 评论 -
派生类不允许使用不完整的类型
C++ 不允许使用不完整的类型原创 2022-12-09 17:11:23 · 188 阅读 · 0 评论 -
C++格式化字符串精度注意事项
C++标准库数据精度原创 2022-07-10 15:12:44 · 1249 阅读 · 0 评论 -
Sepera LT丢包问题
Dalsa Sepera SDK的丢包问题原创 2022-06-07 13:42:22 · 402 阅读 · 1 评论 -
【Intel汇编指令集】寄存器
指令集手册下载:Intel® 64 and IA-32 Architectures Software Developer Manuals4800多页的PDF,分4卷,本文基于 April 2022的文档Volume 1 - 7.1 PROGRAMMING ENVIRONMENT FOR GP INSTRUCTIONS、7.2 PROGRAMMING ENVIRONMENT FOR GP INSTRUCTIONS IN 64-BIT MODE1、通用寄存器32位General-purpose r翻译 2022-05-10 12:56:14 · 2455 阅读 · 0 评论 -
Socket accept建立TCP连接失败
本地作为服务端accept一直无法建立连接,在wiresharp中可以看到远端不断发过来SYN消息。本地作为客户端可以connect远端。原因:windows 防火墙没有完全关闭,之关闭了专用网络,没关闭共用网络原创 2022-03-11 22:26:42 · 5410 阅读 · 1 评论 -
std::thread发生Debug error R6010 abort() has been called
原因:std::thread对象在析构前没有调用join、detch或move,导致触发abort()具体场景分析:希望通过匿名函数构造thread对象,并脱离使用,从而避免手动释放对象指针void func(){std::thread thread{ [&] { //do something}};}因为忘记在最后加上detch(),导致每次func返回时就会报错。正确做法:void func(){std::thread thread{ [&] { //do s.原创 2022-03-03 13:32:23 · 1418 阅读 · 0 评论 -
不同版本VC++间相互调用的坑:标准库
某些时候不同项目或合作方使用不同的VS版本编译组件代码,如dll、静态库,此时涉及高版本VS调用低版本VS的组件或者低版本VS调用高版本VS的组件,如果在组件接口中使用了标准库,那么就会产生各种离奇古怪的BUG。例如在dll的接口函数中通过std::vector、std::string作为形参,这是不可取的,应该改用内建变量,常用的解决方案是先将标准库的数据结构转换为二进制流,以指针的形式传递,这个过程也称为序列化,那么在调用dll的地方就需要反序列化,即把二进制流恢复成标准库的形式。根本原因是不同版本原创 2021-12-26 09:33:16 · 2475 阅读 · 1 评论 -
彻底隐藏MFC对话框窗口+任务栏
创建项目名为 MFCApplication,app类CMFCApplicationApp,dialog类CMFCApplicationDlg修改以下地方:(1)修改CMFCApplicationApp类的初始化函数BOOL CMFCApplicationApp::InitInstance(){... CMFCApplicationApp dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); if (nResponse原创 2021-11-23 14:24:17 · 1818 阅读 · 0 评论 -
VS莫名其妙 LNK2019
所有东西都声明、定义好了,编译还是报 LNK2019解决办法:将相关的.cpp从项目中移除重新添加,编译成功。这是因为VS没有识别.cpp文件导致的,原因不清楚,可能是BUG吧原创 2021-08-09 14:09:01 · 294 阅读 · 0 评论 -
C++ 对象指针内存错误
从第三方库获得的对象指针,访问其成员时抛出内存错误原因:第三方库的接口头文件定义有问题,对象指针通过 int返回,应该改为 intptr_t(或者long long),有可能是该库从32位平台迁移到64位平台时遗漏了这个地方,64位的指针值强转为32位的int,丢失了高位32位导致访存访问到一个错误的地址...原创 2021-03-02 16:40:13 · 365 阅读 · 0 评论 -
关于不同版本VS编译获得的静态库、动态库的兼容性
MSDN文档中有所阐述 :C++Visual Studio 2015、2017和2019之间的二进制兼容性vs2013及之前的版本,不保证兼容,换言之,也有可能可以用,如vs2012编译的dll,在vs2013里调用,有时候是可以的。如果是vs2015以上版本,是互相兼容的。...原创 2020-03-26 14:52:41 · 4249 阅读 · 1 评论 -
编译openssl
准备工作:安装ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe安装nasm-2.14.02-installer-x64.exe下载openssl-OpenSSL_1_1_1-stable.zip电脑已安装VS2013(或其它版本)编译x86版本的库:1、解压openssl-OpenSSL_1_1_1-stable.zip,如获得D:\op...原创 2020-03-25 09:23:09 · 2823 阅读 · 1 评论 -
C++获取系统硬件信息
利用windows wmi api,需要通过COM调用官方实例:Example: Creating a WMI ApplicationInvoking a Synchronous Query基本思路是:调用IWbemServices::ExecQuery方法,通过WQL语法(SQL for WMI)查询关键字获取相应的设备信息类(关键字就是类名),然后调用IWbemClassObject::...原创 2020-02-29 15:19:12 · 3500 阅读 · 0 评论 -
vs2019在线安装失败+离线安装详解
无法下载,进度条一直为0%,通过命令行下载安装包先到官网下载安装器 (微软称之为引导程序): https://visualstudio.microsoft.com/zh-hans/vs/我这里下载都是Community版本打开命令行,跳转至安装器所在目录,执行以下命令下载安装包vs_community__34248442.1581234348.exe --layout .\vs2019_l...原创 2020-02-10 14:16:02 · 10348 阅读 · 0 评论 -
QT获取QFont所支持的family列表
#include <QFontDatabase> ... QFontDatabase fd; QStringList lis = fd.families(); ...原创 2020-01-16 14:05:10 · 3054 阅读 · 1 评论 -
QT+VS无法编译ui项目
平台:VS2013 + QT 5.9.1问题:新建一个解决方案"QtGuiApplication2",项目类型选择“Qt GUI Application”,项目名"QtGuiApplication2",编译成功;然后"解决方案"-添加-新建项目,项目类型同样选择“Qt GUI Application”,项目名"QtGuiApplication1",编译后报错:error C1083: 无法打开...原创 2020-01-15 14:15:12 · 2395 阅读 · 1 评论 -
C++的函数重载
作者:吴秦出处:http://www.cnblogs.com/skynet/转载 2014-05-13 16:15:06 · 694 阅读 · 0 评论 -
C的目录操作
Linux>> addd(1)Error using addd (line 2)Not enough input arguments. >> addd(1,2,3,4)Error using addd (line 2)Too many input arguments.>> addd(7,2,3)ans = 42转载 2014-05-13 16:51:20 · 1252 阅读 · 0 评论 -
浮点数的大小比较
节选自 : http://blog.youkuaiyun.com/waitfor_/article/details/8035773转载 2014-09-19 10:18:08 · 4618 阅读 · 0 评论 -
void及void指针含义的深刻解析
void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,转载 2014-09-03 15:02:05 · 545 阅读 · 0 评论 -
函数指针
函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的参转载 2014-09-03 15:08:08 · 688 阅读 · 0 评论 -
【学习DCMTK】VC读取dicom图像
#include "dcmtk/dcmdata/dctk.h"原创 2014-09-03 15:29:14 · 5384 阅读 · 0 评论 -
C++传参
C++中传值方式分为传值、传引用、传指针,虽然传值方式不一样,归根结底,数据都保存在内存中,不管以什么样的方式,只要关注掉调用者的内存变化,即可搞清楚各种传参之间的关系。转载 2014-09-03 14:17:14 · 1023 阅读 · 0 评论 -
c/c++ 中路径
文件路径的表示可以分为绝对路径和相对路径:绝对路径表示相对容易,例如:pDummyFile = fopen("D:\\vctest\\glTexture\\texture\\dummy.bmp", "rb");转载 2014-11-10 16:55:08 · 1446 阅读 · 0 评论 -
VS调试不能watch变量值
在opencv里,经常想查看Mat里面的数据值,原创 2014-10-24 11:39:14 · 2915 阅读 · 0 评论