自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (33)
  • 问答 (2)
  • 收藏
  • 关注

原创 Qt题目知多少-4

为每个QObject子类生成必要的代码以实现元系统特性。moc工具会读取C++源文件,当它发现包含Q_OBJECT宏的类声明时,会生成另一个C++源文件,其中包含这些类的元对象代码。这个生成的源文件通常会被编译并与类的实现一起链接。Qt的元对象系统(Meta-Object System)是Qt框架的核心特性之一,它为基于Qt的应用程序提供了一系列高级功能。类是元系统的一部分,用于提供有关特定数据类型的信息。:用于启用元系统特性,如动态属性、信号和槽等。:作为使用元系统功能的对象的基类。

2024-08-14 11:30:22 320

原创 Qt/C++经验技巧知多少-3

12.如果需要指定无边框窗体,但是又需要保留操作系统的边框特性,比如自由拉伸边框,可以使用 setWindowFlags(Qt::CustomizeWindowHint),这样会保留一个系统白边框。在安装的时候,默认不勾选。使用该模块需要注意可能引入的版权问题。4.Qt内置了QFormLayout表单布局用于自动生成标签+输入框的组合的表单界面,设置布局用的很少,一般用的最多的是横向布局、垂直布局、表格布局。10.QLabel有三种设置文本的方法,掌握好Qt的属性系统,举一反三,可以做出很多效果。

2024-08-14 11:21:11 188

原创 Qt/C++经验技巧知多少-2

8.如果发现QtCreator中的构建套件不正常了或者坏了(比如不能正确识别环境中的qmake或者编译器、打开项目不能正常生成影子构建目录),请找到两个目录(C:\Users\Administrator\AppData\Local\QtProject、C:\Users\Administrator\AppData\Roaming\QtProject)删除即可,删除后重新打开QtCreator进行构建套件的配置就行。此外,动态属性的使用应谨慎,因为它们可能会使对象的状态管理变得更加复杂。

2024-08-14 11:01:08 295

原创 Qt/C++经验技巧知多少-1

3.运行文件附带调试输出窗口,这个非常有用,很多时候当我们发布程序阶段,我们会遇到程序双击无法运行也不报错提示(开发机器上一切正常),都不知道发生了什么,甚至任务管理器可以看到运行了但是没有界面弹出来,此时就需要在项目的pro文件中加上一行CONFIG += console,带界面的程序也会自动弹出调试窗口打印输出信息,方便找问题,一般没法正常运行的程序都会打印一些提示信息缺啥之类的。6.Qt内置图标封装在QStyle中,大概七十多个图标,可以直接拿来用。10.使用inherits判断是否属于某种类。

2024-08-14 10:31:25 254

原创 C++题目知多少-1

‌用于不同类型之间的转换,‌可以将一个指针或引用转换为另一个类型的指针或引用。‌reinterpret_cast不进行类型检查,‌因此可能会导致未定义的行为,‌应谨慎使用。‌const_cast可以改变指针或引用的常量属性,‌但不能改变对象本身的常量属性。:‌用于基本数据类型之间的转换,‌以及具有继承关系的指针或引用之间的转换。:‌专门用于具有继承关系的指针或引用之间的转换,‌可以在运行时检查类型是否匹配。,这意味着该函数承诺不会修改对象的状态,也就是说,它不会改变对象的任何成员变量的值。

2024-08-09 10:04:38 543

原创 C++虚函数表、地址详解(x86/x64)

本文在上述博文的基础上,补充了x64下的验证代码。虚函数大家都知道是基本用于实现多态的,当父指向子类对象的时候,如何确定调用的函数是父类里的还是子类里面的,这就要用到虚函数表。下面一点点表诉什么是虚函数表,和虚函数表的特点。如有说错的地方,欢迎指正:1.编译器会为每个创建一个虚函数表如有类中没有虚函数,那么这个虚函数表就不存在,而不是表中无数据。同时,有虚函数的类都会有自己的虚函数表,虚函数表会被一个类的所有对象所拥有。

2024-08-08 19:01:36 1028

原创 Qt题目知多少-3

如果不一致,允许的情况是,信号的参数可以比槽函数的参数多,即便如此,槽函数存在的那些参数的顺序也必须和信号的前面几个一致起来。Qt中的智能指针封装为QPointer类,所有QOBJECT的子类都可以用这个智能指针来包装,很多用法与普通指针一样,可以详见Qt assistant 通过调查这个Qt的内存管理功能,发现了很多东西,现在觉得虽然这个Qt弄的有点小复杂,但是使用起来还是很方便的,要说的是某些内存泄露的检测工具会认为Qt的程序因为这种方式存在内存泄露,发现时大可不必理会。事件的机制是非阻塞的。

2024-08-08 12:44:57 974

原创 Qt题目知多少-2

优点:跨平台,几乎支持所有平台,接口简单,文档详细,开发效率高缺点: Qt 作为一个软件平台,比较庞大、臃肿。元对象系统 Qt的元对象系统(meta-object)提供了用于内部对象通讯的信号与槽(signals & slots)机制,运行时类型信息,以及动态属性系统(dynamic property system)。整个元对象系统基于三个东西建立:1)QObject类为所有对象提供了一个基类,只要继承此类,那创建出的对象便可以使用元对象系统。

2024-08-08 11:53:35 731

原创 创建型模式(Creational Patterns)之工厂模式(Factory Pattern)之工厂方法模式(Factory Method Pattern)

相反,如果使用 工厂方法模式,每个产品类型都有一个对应的工厂类来创建,工厂方法 可以独立进行扩展,每个工厂类只需要关心自己负责的产品类型,代码更加清晰和易于维护。例如,在一个图形绘制软件中,可以使用 工厂方法模式 来创建不同类型的图形对象,如圆形、矩形、三角形等,每个图形都有一个对应的工厂类来创建。如果使用 简单工厂模式,我们需要一个工厂类来创建所有不同类型的电子产品,客户端代码需要指定电子产品类型,工厂类根据类型来创建相应的产品对象。但是,随着产品类型的增加,工厂类的代码会越来越复杂,难以维护和扩展。

2024-08-05 18:44:18 488

原创 创建型模式(Creational Patterns)之工厂模式(Factory Pattern)之简单工厂模式(Simple Factory Pattern)

被创建的对象称为“产品”,创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。是简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类的-建产品类的方法可以被外界直接调用,创建所需的产品对象。简单工厂模式不在 GoF 23 种设计模式之列。是简单工厂创建的所有对象的父类,负责描述所有实例共有的公共接口。请注意,简单工厂模式可能会因为工厂类中的。是简单工厂模式的创建目标。

2024-08-05 18:20:14 477

原创 C++题目:堆数据访问块还是栈数据访问快?

栈数据访问速度通常比堆数据访问速度快,因为栈的数据存储在连续的内存空间中,访问速度快且效率高。堆数据访问速度较慢,因为其数据存储在分散的内存空间中,需要额外的指针解引用操作。栈是一种线性数据结构,数据存储在一段连续的内存空间中,遵循后进先出(LIFO)原则。主要特点如下:自动管理:栈内存的分配和回收由编译器自动处理,无需程序员显式管理。连续内存:栈分配的内存通常是连续的,这有助于优化CPU缓存的使用。快速分配和回收:由于栈的管理较为简单,分配和回收内存的速度较快。

2024-08-05 17:34:16 390

原创 c++物理引擎库-Bullet Physics

Bullet Physics 库以其强大的功能、高效的性能和易用性,成为众多开发者实现物理模拟的首选工具。无论是创建逼真的游戏场景,还是构建复杂的虚拟现实体验,Bullet Physics 库都能为您的项目增添真实而精彩的物理效果。Bullet Physics 库作为一款出色的开源物理引擎,为开发者提供了强大的工具来实现各种复杂的物理效果。在上述示例中,我们创建了一个 Bullet Physics 世界,添加了地面和球体刚体,并模拟了它们在重力作用下的运动。

2024-08-05 17:14:21 222

原创 C++数学库GNU Scientific Library (GSL)

库中的算法经过了精心的优化和验证,能够在保证精度的前提下,尽可能提高计算效率。开发者无需深入了解复杂的数值分析理论和底层实现细节,只需按照规范调用相应的函数,并传入正确的参数,即可获得准确的计算结果。这大大降低了科学计算的门槛,使得更多的开发者能够轻松运用高级的数学方法解决实际问题。其设计目标是提供高效、准确且易于使用的函数接口,使得开发者能够专注于解决科学问题本身,而不必过多关注底层的数值实现细节。它为 C 和 C++ 程序员提供了丰富的数学函数、数值算法和数据结构,极大地简化了复杂科学计算任务的实现。

2024-08-05 15:46:36 818

原创 通信相关20题

在层次关系上,两者都采用了分层体系结构,都是对等的层间通信,不同之处在于TCP/IP参考模型比OSI参考模型层次更清晰简练,在功能上,两者差别不大,都是为了实现两个或多个终端之间的通信。在Linux系统中,2MSL默认值是60秒。定义一个时间段,在这个时间段内,如果没有任何连接相关的活动,TCP保活机制会开始作用,每隔一个时间间隔,发送一个探测报文,该探测报文包含的数据非常少,如果连续几个探测报文都没有得到响应,则认为当前的TCP 连接已经死亡,系统内核将错误信息通知给上层应用程序。

2024-07-30 18:42:20 643

原创 Qt题目知多少-1

它采用事件驱动的方式处理网络事件,如连接建立、数据到达等,这些事件通常通过信号和槽机制在Qt应用中传递和处理,使得开发者能够以异步的方式编写网络程序,提高应用的响应性和用户体验。当一个QObject对象被销毁时,它会自动删除其所有的没有单独指定父母的子对象,这是一种隐式的内存管理机制,减少了手动删除子对象的需要。综上所述,Qt通过结合C++的标准内存管理机制、智能指针、特定的内存管理类以及父母-子女的对象树结构,提供了一个既强大又灵活的内存管理体系,旨在帮助开发者编写高效、健壮的代码。

2024-07-30 16:39:00 480

原创 C++面向对象设计原则

如果有了新的需求,需要当前模块支持MP5,那么当前模块的内部文件需要实现CMP5,但是其他模块不需要修改,只要在调用工厂类的MakeObj接口时,传入strType 为“MP5”就可以了。面向修改关闭:部分资料存在对读者的误导,软件设计不应该是不允许修改,而是良好的设计不需要修改对外接口,这样就将修改范围关闭在当前模块内,不会波及其他模块。使用多个小的专门的接口,而不要使用一个大的总接口。接口应该是内聚的,一个类对另外一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,造成接口污染。

2024-07-29 19:04:31 933

原创 指针与引用20题

空指针是指没有指向任何有效对象的指针。在C++中,可以使用特殊值nullptr表示空指针。野指针是指未被正确初始化或者已经释放的指针,它可能包含一个无效的内存地址,导致访问到不属于自己的内存区域。为了避免空指针和野指针的出现,可以考虑以下几点:初始化:在定义指针变量时,立即将其初始化为合理的初始值或者将其设为nullptr,这样可以确保不会产生随机值导致野指针问题。空检查:在使用指针之前进行空检查,避免对空指针进行解引用操作。可以通过条件判断语句(例如if(ptr!= nullptr)

2024-07-26 16:42:31 733

原创 堆、栈20题

堆(Heap)和栈(Stack)是计算机内存中两种常见的数据存储区域,它们在内存管理和数据结构方面有不同的作用。堆(Heap):堆是动态分配的内存空间,由程序员手动控制其分配和释放。堆用于存储运行时动态创建的对象、数据结构和数组等。通过使用malloc、new等函数进行堆内存的分配,使用free、delete等函数进行释放。堆内存的大小可以在程序运行期间进行调整。在多线程环境下,堆需要处理并发访问问题。栈(Stack):栈是一种自动分配的内存空间,由编译器自动管理其生命周期。

2024-07-26 15:13:29 683

原创 内存管理20题

内存碎片是指分配给进程的内存空间被划分为多个小块,而这些小块之间存在不可用的、无法再分配的空隙。内存碎片可以分为两种类型:外部碎片(External Fragmentation):指的是已分配内存块之间的未使用空闲空间。由于这些空闲区域被分割成多个较小的不连续块,导致实际可用内存比总共分配的内存要少。内部碎片(Internal Fragmentation):指的是已经被程序占用但没有充分利用的内存空间。通常发生在静态或动态地将固定大小的块分配给进程时,导致实际可用内存比所需内存要少。

2024-07-26 12:29:54 967

原创 qt编译前后复制文件

QMAKE_PRE_LINK : 编译前执行。QMAKE_POST_LINK:编译后执行。1.在.pro文件中加入命令。

2024-07-23 18:02:44 229

原创 STEllAR-GROUP/hpx

HPX的目标是为传统系统(如经典的基于Linux的Beowulf集群或多套接字高度并行的SMP节点)创建一个高质量的、免费可用的、开源的新编程模型实现。我们希望使用真实的应用程序来驱动运行时系统的开发,创造出所需的功能,并汇聚到一个稳定的API上,这将为开发人员提供一个平滑的迁移路径。HPX暴露的API不仅是按照c++ 11/14/17/20 ISO标准定义的接口建模的,它还遵循了Boost c++库集合所使用的编程指南。此外,在HPX中,我们实现了作为正在进行的c++标准化过程的一部分提出的功能。

2024-06-03 23:25:07 220

原创 c/c++结构体中包含数组直接赋值

原因是上述结构体满足POD数据类型,可以逐位拷贝(bitwise copy semantics)。上述st可以直接赋值给st2,同时strA也被深拷贝。上述strA无法直接赋值给strB。

2024-05-22 19:38:04 207 1

转载 现代 C++ Bug Free 检查工具

未定义行为(UB,Undefined Behavior)可能最容易被开发人员忽视。如果触发 UB,程序行为是未可知的,常用检查项alignment使能未定义行为检查扩展阅读。

2024-04-26 08:37:52 132 1

原创 AutoIt基本用法

中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到或无可靠方法实现的(例如。AutoIt 最新是v3版本,这是一个使用类似BASIC。脚本:将鼠标移动到屏幕中心,重复滚动鼠标滚轮。,它设计用于Windows GUI(

2024-04-07 19:38:36 336 2

原创 HalconCpp图像序列化

如果不使用序列化,在传输数据时还需要同时传输图像的长宽等信息。图像序列化后,方便传输。

2023-08-26 05:53:20 325 1

原创 VS2017打开Qt工程报错及处理办法

2023-06-21 08:08:25 300

转载 下载文件失败提示病毒扫描失败怎么解决

2、进入注册表编辑器,依次点击左侧中的"HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesAttachments",并回车定位到此。右击右侧空白处,选择"新建"一个"字符串值",将其命名为"ScanWithAntiVirus",并双击打开。1、"win+R"快捷键打开运行,输入"regedit.exe",回车打开。4、最后在打开的窗口中将"数值数据"改为"1",点击确定保存即可。

2023-06-10 23:03:32 7304 8

原创 Qt Creator Release断点调试

Qt Creator Release断点调试

2023-02-03 08:47:25 673

原创 QMetaObject::invokeMethod

QMetaObject::invokeMethod

2023-01-17 10:33:43 1519

原创 GMock为引用参数赋值、执行多个Action

GMock为引用参数赋值、执行多个Action

2023-01-17 09:43:01 687

原创 QImage通过buff创建出现倾斜变形问题

QImage通过buff创建出现倾斜变形问题

2022-12-24 11:27:45 140

原创 Qt输出到指定目录

Qt输出到指定目录

2022-12-24 11:18:53 1637

原创 C++注册公开的枚举类型到QML中

C++注册公开的枚举类型到QML中

2022-12-18 11:27:22 328

原创 qml使用c++写的QStringListModel

qml使用c++写的QStringListModel

2022-12-17 21:24:04 574

原创 c++结构体字节对齐问题

c++结构体字节对齐对使用柔性数组的影响

2022-12-12 17:49:22 101

原创 从图像文件读取数据,再加载到QImage

从图像文件读取数据,再加载到QImage

2022-12-01 21:38:20 322

原创 QVector<QImage> append(QImage)编译报错

使用QVector容器,存在追加QImage对象的语句时,编译报错:FilmShowControl.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual void __thiscall QPaintDevice::initPainter(class QPainter *)const " (?initPainter@QPaintDevice@@UBEXPAVQPainter@@@Z)

2022-11-24 11:38:25 536

原创 GTest单元测试缺少NuGet程序包问题

项目xxx的NuGet包还原失败:找不到“xxx”版本的程序包“Microsoft.googletest....

2022-11-24 11:18:26 180

转载 c# textbox换行问题以及使用\r\n不换行解决方法

vs2010 windows下c# winform编程,众所周知,\r\n是windows下的换行符号,\n是linux下的换行符号。然而,有可能由于习惯,出现使用了\r\n仍然无法换行的问题。请看下面案例:开发环境:win7 vs2010开发语言:c#问题描述:使用\r\n作为换行符,仍然没办法让textbox中的文本换行。问题代码:textBox1.

2015-11-19 10:41:49 8617

04 Shared memory1125.rar

附件是一套C#调用C++dll时,通过共享内存方式,传递结构体的示例源代码。亲测可用。。。。。。。。。。

2019-12-08

dll向C#传递数组.rar

附件是一套C#调用C++dll时,传递数组参数的示例,亲测可用。。。。。。。。。。。。。。。。。。。。。。。

2019-12-08

C#与dll互传图片.rar

附件是一套C#调用C++dll,传递图片参数的示例。亲测可用

2019-12-08

03 C#与C++dll互相传递字符串.rar

附件是一套C#调用C++dll时,相互传递字符串的Demo。亲测可用。

2019-12-08

C#实现C++dll回调函数.rar

附件是一套C#调用C++dll时,实现回调函数的Demo程序。亲测可用。

2019-12-08

ico图标库.rar

附件是收集的大量图标,包含不同尺寸不同领域,方便开发者使用。

2019-12-08

某软件公司C#.net编码规范.rar

附件是某软件公司C#.net编码标准,介绍了pascal camel等命名标准及使用。对公司制定标准有一定参考价值。

2019-12-08

CSV读写示例.rar

C#读写CSV示例,亲测可用,值得收藏,嵌入到自己的项目中。

2019-09-08

Dll查看工具Depends.rar

能够查看dll入口函数,所需要的类库等。为检查dll问题提供帮助。

2019-08-05

AccessDataBaseEngineX64 X86.rar

附件包含x86 x64两个,根据需要安装。能够解决以下代码报错问题: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str_path + ";Extended Properties=\"Excel 12.0;HDR=YES\"";

2019-08-04

压缩包解密工具

压缩包解密工具,亲测可用。暴力破解、字典破解等功能。

2019-03-25

MFC版本信息获取

我在学习版本控制时,看到博客中很多讲的并不明白,而且MSDN上讲的太简单。 所以分享一个非常实用的版本控制源代码。清晰明了。

2019-03-17

OpenCV海量资源(云盘分享)

OpenCV海量教程、资源、代码实例分享。云盘连接,拿走不谢。

2019-02-24

MFC视频课程资源

海量MFC教程,代码实例。从入门到精通, 绝对超值!云盘下载,连接永久有效。拿走不谢。下载绝不后悔。

2019-02-24

USBlyzer2.2带破解工具及操作说明

亲测可以使用,很难找的,试了好多,都不如这个好。 破解不了可以私信联系。

2019-01-10

嵌入式系统工程设计

这个课件讲述了嵌入式的基本知识,适合初学者学习。课件。

2018-11-18

GX Works简单编程手册

GX Works2 是三菱PLC的编程软件,这本手册是介绍GX Works2编程的。

2018-11-18

凌云 VisionWARE 系列产品及案例介绍

凌云 VisionWARE 系列产品及案例介绍 客户培训课件,入门级PPT。

2018-11-18

Acrobat DC补丁

Acrobat DC破解补丁,打开后选择安装目录,亲测可用。

2018-10-14

系统文字乱码问题解决办法

txt文件打开后是乱码; 有些软件的图标文字也是乱码。 尝试了很多办法,包括修改注册表等,都没有解决。最后按照附件方法解决了。

2018-10-14

理研GD-70D说明书

一款气体检测仪表,理研GD-70D说明书。其中GD-70D是仪表的型号,此外根据检测气体不同,所选取的模块不同。

2018-08-06

matlab绘图Figure嵌入C# Winform窗体中

昨天下载了http://download.csdn.net/detail/du18254261003/5229769这个资源,由于版本问题,不能直接运行。然后对其进行了改进,在x64系统上运行通过。 环境说明:win7 x64; matlab2016;VS 2015。 最后,感谢原帖。

2017-01-06

MATLAB遗传算法工具箱GeneticAlgorithmToolbox

这个是英国Sheffield大学推出的GA工具箱,它应用最广泛目前,覆盖了美国北卡罗来纳州立大学推出的GAOT,Genetic Algorithm Optimization Toolbox。尽情享用吧。

2016-05-25

CoreJava视频课程(百度云链接)

视频课程一套,需要的拿去吧 绝对超值

2016-03-23

TTS语音合成插件、资料及C#源码

去年帮同学做毕业设计整理的资料,现在分享出来挣点分

2016-03-23

java视频课程(网盘)

一套Java的视频课程。看了觉得不值的加我微博理论:飞翔的小七——嗖

2016-03-07

网页开发Javaweb(海量资源)

由于上传资源大小受限,故将资源置于云盘,在此分享链接。包含Java开发网页的圈套,多种教程。都是朋友花钱买的给我的。 相信你看到资料后,会觉得超值的。也希望您留下评论,给其他人下载提供建议。

2016-03-07

C#Socket通讯超清晰例子(带线程间访问)

用C#编写套接字,进行通讯。在win7上两台电脑实验通讯通过。客户端和服务器分别是两个对话框。本例中,发送的是默认的字符串,而不是输入文本框中的内容。这点请大家使用或更改时注意。

2015-12-02

UnityWebPlayer

安装后可以在winform开发的过程中嵌入Unity发布的动画~

2015-11-06

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除