C++
文章平均质量分 56
C++相关知识介绍,qt,vc
blueman8888
这个作者很懒,什么都没留下…
展开
-
VisualAssistX_2440在VS2022中的安装
下载VisualAssistX_2440https://downloadfiles.idera.com/WholeTomato/VA_X_Setup2440_0.exe 下载完成后安装, 但是可能没有反应, 可能需要将该插件调成兼容win7的模式.再次启动. 启动出来后,选中VS2022版本,这时候发现有可能一直在retrying模式下, 不要急, 通过everything搜索*.vsix,会在C盘的temp文件夹下搜到VaXSetup64.vsix,和VaXSetup.vsix,其中VaXSetu原创 2024-08-22 15:21:50 · 225 阅读 · 0 评论 -
C++虚函数拾遗
上述这2篇文章即可.在C++中,基类是虚函数,子类对象指针赋值给基类对象指针, 编译器怎么知道当前指针是子类对象还是基类对象的指针?在C++中,当基类包含虚函数时,编译器会在对象内存中创建一个虚函数表(vtable)。每个类(包括基类和子类)都有自己的虚函数表,表中存储了该类的虚函数的地址。当你将子类对象的指针赋值给基类对象的指针时,基类指针实际上指向的是子类对象的内存区域。由于对象内存中包含了虚函数表指针(vptr),编译器能够通过这个指针找到正确的虚函数表,并调用相应的函数。原创 2024-06-29 09:14:23 · 617 阅读 · 0 评论 -
将qt的子进程窗口嵌入qt的主进程主窗口中(方法二)
2.当主进程窗口是showFullScreen()状态时,子进程存在QDailog窗口,或者一些其他控件会使当前子进程窗口失去焦点的操作时,会出现window7桌面任务栏弹出的现象.win10下正常. 笔者通过判断当前操作系统版本,然后通过将任务栏的自动隐藏功能开启后,可通过软件层面技术性解决该问题.将任务栏自动隐藏功能开启后,即使存在弹出现象,也因为隐藏后,不会显示. 当软件退出时,再取消该功能.监控父窗口控件变化,变化则发送一个信号到 m_ChildVMWin 的槽函数,重新设置子窗口大小。原创 2024-06-16 15:44:08 · 703 阅读 · 0 评论 -
Visual Studio C++官方博客
Visual Studio 中的 C++ 重构工具 - C++ 团队博客 (microsoft.com)原创 2024-06-12 17:04:13 · 134 阅读 · 0 评论 -
结构体指针
这个操作符对于指针有两个不同的意义,当在申明的时候是申明一个指针,而当在使用p指针时是解引操作,解引操作右边是一个地址,这样解引操作的意思就是该地址内存中的数据。变量类型的出现是内存管理的必然结果,相信读者知道,所有的变量都是保存在计算机的内存中,既然是放到计算机的内存中,那必然会占用一定的空间。这里简单说了类型主要是为后面引出指针这个特殊性,在计算机中,将要运行的程序都保存在内存中,所有的程序中的变量其实就是对内存的操作。计算机的内存结构较为简单,这里不详细谈论内存的物理结构,只谈论内存模型。转载 2024-05-15 08:40:32 · 44 阅读 · 0 评论 -
如何将Git仓库中的文件打包成zip文件?
文件中被忽略的文件。如果您需要包含这些文件,您可能需要先将它们添加到仓库中,或者在创建zip文件后手动添加它们。这个命令允许您将任何git可访问的树或提交导出成一个归档文件。如果您想要打包特定的分支或标签,可以将。要将Git仓库中的文件打包成zip文件,您可以使用。如果您想要打包当前分支的最新版本,使用。可以采用powershell窗口。替换为分支名或标签名。原创 2024-05-12 13:57:33 · 517 阅读 · 0 评论 -
16进制字符串转32bit整形,浮点数,16bit整形
【代码】16进制字符串转32bit整形,浮点数,16bit整形。原创 2024-04-30 10:34:08 · 441 阅读 · 0 评论 -
C++解方程组的库
请注意,Eigen的非线性优化模块并不包含真正的BFGS实现,而是提供了Levenberg-Marquardt算法,它更适合于非线性最小二乘问题。它支持多种类型的矩阵运算,包括求解线性方程组。对于更复杂的问题,你可能需要更高级的数值优化库,如Ceres Solver或NLopt,它们提供了更多的优化算法和更好的稳定性。这个示例中,我们定义了一个非线性方程组和它的雅可比矩阵,然后使用牛顿法进行迭代求解。请注意,这个模块是Eigen的一部分,但并不属于其稳定的官方API,因此在未来的版本中可能会有所变化。原创 2024-04-26 13:32:03 · 1824 阅读 · 5 评论 -
VS2019卸载VA插件之后,出现闪退时
进入VS界面后,再关掉,重新按正常方式打开VS界面即可。采用安全模式进入VS。原创 2024-01-30 20:16:25 · 516 阅读 · 0 评论 -
解决Visual Studio的启动错误“未能正确加载某某包”
说明一下,这里面的%localappdata%文件夹就是你的Windows系统的用户数据所在的文件夹下的本地应用数据文件夹,像我的是在C:\Users\MyUserName\AppData\Local。我的错误是"The 'ProviderPackage' package did not load correctly.",明明它说关掉VS下次启动这个错误会消失,可是重启并没什么球用。关掉Visual Studio,删除对应版本对应的文件夹即可(删除前最好先备份)转载 2024-01-30 19:08:30 · 535 阅读 · 0 评论 -
char[]数组转string注意事项
这种情况下可以对char strProcPath[128]{'\0'};初始化时进行\0字符赋值。当在这种情况直接进行赋值,有可能会报C6054缺少'\0'结束符。原创 2023-12-13 14:16:43 · 120 阅读 · 0 评论 -
VS中设置dll文件加载路径
当存在多个dll路径时,需按图示要求保证计算的值如图格式所示,计算的值:PATH=%PATH%;或者PATH=路径;由于qt路径为继承的值,所以将其“从父级或项目默认机床”√取消。原创 2023-10-23 16:14:18 · 1408 阅读 · 0 评论 -
16进制输出补齐
int PrintVal = 9; /*按整型输出,默认右对齐*/ printf("%d\n",PrintVal); /*按整型输出,补齐4位的宽度,补齐位为空格,默认右对齐*/ printf("%4d\n",PrintVal); /*按整形输出,补齐4位的宽度,补齐位为0,默认右对齐*/ printf("%04d\n",PrintVal); /*按16进制输出,默认右对齐*/ printf("%x\n",PrintVal);...原创 2021-07-17 15:19:50 · 1287 阅读 · 0 评论 -
const char* 和char* 之间的转换
const char* 和char* 之间的转换 const char*是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量,通过该指针不能修改它所指向的数据. 1.const char*是不能直接赋值到char*的,这样编译都不能通过,理由:假如可以的话,那么通过char*就可以修改const char指向的内容了,这是不允许的.所以char*要另外开...原创 2021-04-15 13:29:09 · 19438 阅读 · 1 评论 -
c++容器使用经验总结
第1章 容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_multimap。vector<char> 作为string的替代。(见第13条)vector作为标原创 2021-04-10 13:59:32 · 321 阅读 · 0 评论 -
MFC中format函数用法
MFC中format函数用法在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符: %c &nb转载 2020-08-17 09:59:21 · 6243 阅读 · 0 评论 -
VS2013正确设置DLL环境变量目录的方法
VS有个比较迷惑人的选项,就是在工程>>属性中有个Executable Directories设置项,几乎所有地球人都认为这个选项是设置exe可执行文件依赖的DLL目录用的,这无疑会方便用户调式,不用来回拷贝一堆DLL文件到工程目录运行,但是所有人都他喵的失败了。 google了一下,正确的做法是设置Debugging >> Environment目录,语法是PATH=目录,就像cmd下设置环境变量那样。 ...转载 2020-08-16 16:27:30 · 911 阅读 · 0 评论 -
vc下项目的头文件包含目录以及库导入预计库目录设置
vc下项目的头文件包含目录以及库导入预计库目录设置 1、包含目录:include 头文件包含目录设置: project->setting->C/C++->常规: Additional include directories(附加包含目录): ../../include等等2、工作目录:应用应用程序工作目录。默认为包含项目文件目录。 project->配置属性->调试3...转载 2020-08-16 16:14:19 · 523 阅读 · 0 评论 -
VC项目程序运行时设置指定目录读取Dll
方法一:选择当前工程,右击"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了 方法二:设置项目的环境变量 方法三: CString strDllPath = GetExePath() + _T("System"); SetDllDirectory(strDllPat...转载 2020-08-16 16:07:04 · 836 阅读 · 0 评论 -
VC编程之VC实现顶层窗口的透明与实现子窗口的透明
本文主要向大家介绍了VC编程之VC实现顶层窗口的透明与实现子窗口的透明,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。本人在vc开发过程中,多次因窗口透明而煞费苦心,在本人的前一文章《UpdateLayeredWindow与SetLayeredWindowAttributes》中已经指明实现窗口的透明方法,在过往实际的开发过程中我也一直沿袭这一做法,但也并不是屡试不爽,实际应用过程中的缺陷暴露如下:(1)SetLayeredWindowAttributes和UpdateLayeredWi转载 2020-06-11 19:05:38 · 679 阅读 · 0 评论 -
CString与char之间的转换
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-21 09:30:12 · 8467 阅读 · 0 评论 -
MFC六大核心机制之四:永久保存(串行化)
永久保存(串行化)是MFC的重要内容,可以用一句简明直白的话来形容其重要性:弄懂它以后,你就越来越像个程序员了! 如果我们的程序不需要永久保存,那几乎可以肯定是一个小玩儿。那怕我们的记事本、画图等小程序,也需要保存才有真正的意义。 &nbs...转载 2018-12-30 09:16:06 · 268 阅读 · 0 评论 -
BITMAP是C++中定义的位图结构体 HBITMAP是Windows中使用的位图句柄 CBitmap是MFC封装的位图类
一:理解BITMAP是C++中定义的位图结构体HBITMAP是Windows中使用的位图句柄CBitmap是MFC封装的位图类二:相互转换1、HBITMAP->CBitmap 方法一:HBITMAP hBitmap=(HBITMAP)::LoadImage(NULL, str, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);C...转载 2019-09-24 13:52:17 · 872 阅读 · 0 评论 -
MFC框架机制详解
MFC框架机制详解1.1 Windows消息机制要点1.1.1 窗口过程 每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle), 消息ID(Message ID), 和两个消息参数(wParam, lParam), 当...转载 2018-12-30 09:09:18 · 3800 阅读 · 0 评论 -
MFC六大核心机制之一:MFC程序的初始化
很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下可以简单的写程序。本文开始就跟大家分享一位同行前辈写的MFC核心机制分析(稍作整理),语言朴实易懂,在读完此深入浅析的剖析系列后...转载 2018-12-30 09:12:59 · 327 阅读 · 0 评论 -
MFC六大核心机制之二:运行时类型识别(RTTI)
上一节讲的是MFC六大核心机制之一:MFC程序的初始化,本节继续讲解MFC六大核心机制之二:运行时类型识别(RTTI)。 typeid运算子 运行时类型识别(RTTI)即是程序执...转载 2018-12-30 09:14:00 · 201 阅读 · 0 评论 -
MFC六大核心机制之三:动态创建
MFC中很多地方都使用了动态创建技术。动态创建就是在程序运行时创建指定类的对象。例如MFC的单文档程序中,文档模板类的对象就动态创建了框架窗口对象、文档对象和视图对象。动态创建技术对于希望了解MFC底层运行机制的朋友来说,非常有必要弄清楚。 不需要手动实...转载 2018-12-30 09:15:08 · 268 阅读 · 0 评论 -
MFC六大核心机制之五、六:消息映射和命令传递
作为C++程序员,我们总是希望自己程序的所有代码都是自己写出来的,如果使用了其他的一些库,也总是千方百计想弄清楚其中的类和函数的原理,否则就会感觉不踏实。所以,我们对于在进行MFC视窗程序设计时经常要用到的消息机制也不满足于会使用,而是希望能理解个中道理。本文就为大家剖析MFC消息映射和命令传递的原理。 &nbs...转载 2018-12-30 09:16:45 · 258 阅读 · 0 评论 -
VS 2013 正确设置DLL路径的方法
版权声明:本文为博主原创文章,如有不当之处,请及时指正。欢迎转载。 https://blog.csdn.net/u010129119/article/details/78478445 </div> <link rel="stylesheet" href="https://csdnimg.cn/rele...转载 2019-01-05 10:03:43 · 5361 阅读 · 0 评论 -
基于MFC的单文档,多文档,对话框应用程序
基于MFC的单文档,多文档,对话框应用程序 基于对话框(3个类):CAboutDlg程序名App程序名Dlg单文档(5个类):CAboutDlgCMainFrame程序名App程序名Doc程序名View多文档(6个类):CAboutDlgCMainFrame程序名App程序名Doc程序名ViewCChildFrame多文档CAboutDlg(“关于...转载 2019-01-01 15:41:14 · 362 阅读 · 1 评论 -
Git 使用规范流程以及支管理策略
团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。第一步:新建分支首先,每次开发新功能,都应该新建一个单独的分支(这方面可以参考《Git分支管理策略》)。# 获取主干最新代码$ git c...转载 2019-01-24 08:55:41 · 284 阅读 · 0 评论 -
w_char 和 char 之间的转换
vc++2005以后,Visual studio 编译器默认的字符集为Unicode。VC中很多字符处理默认为宽字符wchar_t,如CString的getBuffer(),而一些具体操作函数的输入却仍要求是单字符的char,这边需要对两者进行转换。查阅网上若干多资料,总结为一下几种方法。 方法一:WideCharToM...转载 2019-07-03 11:34:48 · 408 阅读 · 0 评论 -
c语言实现CRC校验和
最近在摄像头采集的数据清晰度上需要加强,则在每一帧传输的数据包后边加了CRC校验和。CRC校验和有16位的,也有32位的。至于CRC校验和算法原理,我是在百度上学习的,其实网上有很多这种资料。简单的说就是CRC校验和就是将一段二进制数据进行加密(乘以一个多项式),然后得到一个校验码。将这个校验码添加在这段二进制数据后边就行了。然后接收方在接收到数据之后,再对这个校验码进行解码。下面我就将今天的d.........原创 2019-01-20 18:07:30 · 5259 阅读 · 3 评论 -
一个简单的Windows程序及消息循环机制
刚开始学Windows程序设计不久,今天看到了 “窗口与消息” 这一章节,其中有一个非常经典的Windows小程序。虽然程序很小,但是该程序包括了几乎所有Windows程序都有的一些常规而繁琐的步骤,比如:窗口类的初始化与注册、窗口的创建与显示,以及用于处理消息的窗口过程,和获取消息队列中消息的消息循环等。程序完整代码如下:#include <windows.h> LRESUL...转载 2019-05-24 16:56:57 · 1059 阅读 · 0 评论 -
VC中怎么读取文件
一、 CStdioFile二、 FILE* f = fopen("file name", "mode"); char buff[size]; fread(buff, size, 1, f);...转载 2019-08-21 08:48:01 · 3573 阅读 · 0 评论 -
CStdioFile,CFile类,文本文件处理
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。 流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打...转载 2019-08-21 09:06:27 · 1066 阅读 · 0 评论 -
VC++ CString类完美总结
CString 是编程中一种非常有用的数据类型,它是MFC中的一个类,很大程度上简化了MFC中的许多字符串的操作。CString位于头文件afx.h中。①、CString 类对象的初始化:CString str;CString str1(_T("abc"));CString str2 = _T("defg"); TCHAR szBuf[] = _T("kkk");...转载 2019-08-21 09:38:28 · 326 阅读 · 0 评论 -
VC++中进程与多进程管理的方法详解
本文实例讲述了VC++中进程与多进程管理的方法,分享给大家供大家参考。具体方法分析如下:摘要: 本文主要介绍了多任务管理中的多进程管理技术,对进程的互斥运行、子进程的创建与结束等作了较详细的阐述。关键词: VC++6.0;进程;环境变量;子进程进程 进程是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其...转载 2019-09-21 19:42:33 · 752 阅读 · 0 评论 -
VC创建进程CreateProcess的方法
本文实例讲述了VC创建进程CreateProcess的方法。分享给大家供大家参考。具体实现方法如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22...转载 2019-09-21 19:44:51 · 1363 阅读 · 0 评论 -
VC使用TerminateProcess结束进程实例
本文实例讲述了VC使用TerminateProcess结束进程的方法,分享给大家供大家参考。具体实现方法如下:复制代码 代码如下:int KillProcess(LPCSTR pszClassName, LPCSTRpszWindowTitle){ HANDLE hProcessHandle; ULONG nProcessID; HWND TheWindo...转载 2019-09-21 19:46:14 · 1102 阅读 · 0 评论