- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 C++ 插件实现
插件(Plug-In) 又称:加载项(Add-On), 外接程序(Add-In),扩展(Extension)等等, 是一种通过动态加载功能模块(即插件)来增强主程序功能的软件设计策略。通过制定标准化接口,确保插件与主程序之间的兼容性与独立性,并方便功能拓展。插件技术广泛应用于IDE开发、游戏引擎、多媒体处理等场景。
2025-04-05 15:38:02
365
原创 C++ RTTI 详解:动态类型识别的奥秘
RTTI(Runtime Type Identification)是“运行时类型识别”的意思,主要作用是在多态对象中实现类型安全的动态转换。C++引入这个机制是为了让程序在运行时能根据基类的指针或引用来获得该指针或引用所指的对象的实际类型。但是现在RTTI的类型识别已经不限于此了,它还能通过typeid操作符识别出所有的基本类型的变量对应的类型。为什么会出现RTTI这一机制呢?这和C++语言本身有关系,C++是一门静态类型语言,其数据类型是在编译期就确定的,不能在运行时更改。
2025-03-30 12:37:22
741
原创 SpringBoot 学习
Spring Boot 是 Spring 提供的一个子项目,用于快速构建 Spring 应用程序导入依赖繁琐项目配置繁琐SpringBoot 的特性起步依赖:整合所有 web 的依赖配置好了自动配置:bean 对象自动注入到 ioc 容器创建 mybatis-spring-boot-autoconfigure 模块,提供自动配置功能,并自定义配置文件 META-INF/spring/xxx.imports。
2024-12-15 19:13:06
971
原创 CMakeError:Cannot specify link libraries for target “xxxx“ which is not built by this project.
CMake的一个常见错误
2023-05-10 20:01:44
4902
原创 C++任意函数invoke的实现
本方法支持任意普通函数,仿函数,lambda表达式,普通类成员函数,const类成员函数,以及静态成员函数。支持可变参数,支持基类成员函数,支持右值传参。
2023-04-06 18:38:27
1787
2
原创 C++之类型转化
根据自定义数据类型的构造函数或者类型操作符重载构造函数多个构造函数重载如:public :// 显式构造 Type s1("China");// 隐式转化 Type s4 = 10;// OK,隐式转换 Type s5 = 'A';
2023-03-31 11:44:36
336
原创 VS使用qt可以编译成功,但Qt的类是灰的,不能提示,且不能ctrl进入源码
VS使用qt可以编译成功,但Qt的类是灰的,不能提示,且不能ctrl进入源码VS qt插件已配置VS qt版本已设置VS 编译软件已通过but Qt有关的提示全无解决办法项目->属性->C/C+±>常规->附加包含目录->编辑->勾选 从父级或者项目配置继承->确定即可解决原因及解释见下篇博文...
2022-04-26 16:24:48
917
原创 QComboBox QCompleter下拉提示
QComboBox QCompleter下拉提示1.QComboBox不能下拉的坑出现QComboBox下拉只出现一小部分或者完全不能下来,情况见下图:原因:QStyledItemDelegate设置了两次,造成QComboBox下拉出现异常2. QComboBox自动补全和下拉提示QComboBox自动补全和下拉提示的是使用Qt自带的一个非常牛逼和优秀的类叫做QComplete,我去设置后突然有的是自动不全有的是下拉提示,查Qt官方文档ConstantValueDescriptio
2022-01-17 23:51:57
1368
1
原创 CMake从入门到实践
文章目录CMake从入门到实践CMake 是什么?特点及优势CMake基本语法语法规则变量常见变量控制语句if语句while语句foreach语句代码块常用指令更多信息工程实践了解CMake从程序的工作过程说起静态库动态库总结工程应用工程实践如何生成可执行文件,动态库,静态库?示例如果可执行文件依赖源码生成的库文件呢?即内部库的依赖如何链接一个外部的库呢?利用绝对路径的方式导入用find_library的方式导入用find_package的方式导入find_package的原理CMake从入门到实践CM
2021-11-20 18:55:17
1589
原创 CMake从入门到实践
文章目录CMake从入门到实践CMake 是什么?特点及优势CMake基本语法语法规则变量常见变量控制语句if语句while语句foreach语句代码块常用指令更多信息工程实践了解Make从程序的工作过程说起静态库动态库总结工程应用工程实践如何生成可执行文件,动态库,静态库?示例如果可执行文件依赖源码生成的库文件呢?即内部库的依赖如何链接一个外部的库呢?利用绝对路径的方式导入用find_library的方式导入用find_package的方式导入find_package的原理CMake从入门到实践CMa
2021-11-11 10:11:58
1324
原创 C++20新特性概览
文章目录C++20概览C++20的重要性侧面说明:正面说明:模块(Modules)优点例子创建模块引用模块范围库(Ranges)Ranges 是什么 ?好处:相关概念例子概念库(Concepts)作用C++20以前C++20之后例子协程(Coroutines)协程概念相关关键字用处生成器并发库(Concurrency)原子智能指针智能指针(shared_ptr)线程安全吗?如何将智能指针变成线程安全?自动合并, 可中断的线程示例同步库(Synchronization)信号量(Semaphore)锁存器(La
2021-11-07 20:47:59
20533
3
原创 C++ Template 技巧 (一)
文章目录一、基于Policy的class设计1. C++常用的解决问题的方法2. 程序的要求3. 解决方法4. 例子(1) 接口组成:(2) 使用方面(3) 例子(4) 上述代码分析1) policies接口和classes接口2) 模板模板参数(template template 参数)5. policy的优势6. 和虚函数的区别7. 模板成员函数8. Policy Classes的析构函数9. 通过不完全具现化获取选择机能一、基于Policy的class设计1. C++常用的解决问题的方法Ob
2021-07-26 20:28:04
946
6
原创 CMake生成的VS工程不能打开库文件
CMake生成的VS项目不能打开依赖的库文件项目项目需要使用第三方库文件SiUSBXp.lib做法查了很多方法最后得到的CMakeLists.txt文件主要内容:add_executable(xy ${XY_SRCS} ${XY_ALL_HEADERS})target_include_directories(xy PUBLIC "${XY_HEADERS_DIR}/3rdparty/USBXpress_SDK/x64/")link_directories("${XY_HEADERS_DIR}/
2020-12-28 09:22:31
1397
1
原创 C++ builder常见#pragma用途解释
#pragma hdrstoppragma hdrstop 用于终止若干个头文件的预编译,可有效减少预编译头文件占用的磁盘空间。凡在#pragma hdrstop指令之前被包含的头文件都将被预编译成预编译头文件。假如一个头文件同时被多个源文件引用,那么生成的预编译头文件同样可被多个源文件共享。因此,在工程#pragma hdrstop指令之前包含通用头文件可获得更好的编译性能。当然,你也可以使用#pragma oncepragma hdrstop指令只能在源文件中使用,头文件中使用没有任何效果.#p
2020-07-13 11:53:49
800
原创 C++ builder基础
C++ builder 简介C++ Builder是由Borland公司推出的一款可视化集成开发工具。C++ Builder具有快速的可视化开发环境:只要简单地把控件(Component)拖到窗体(Form)上,定义一下它的属性,设置一下它的外观,就可以快速地建立应用程序界面。Inprise(原Borland)公司推出的Turbo C、Turbo C++ 、Borland C++ 以及Borland C++ Builder,无不是 C/C++ 编程者所钟爱的编程工具,而且每一个都称得上经典之作,Delp
2020-07-13 11:44:06
9223
1
原创 Makefile错误(2)——missing separator (did you mean TAB instead of 8 spaces?). Stop.
make执行时报错:missing separator (did you mean TAB instead of 8 spaces?). Stop.当时,在Ubantu操作系统下用优秀的编辑器Vim自己编写的文件。然后make一下,报错:missing separator (did you mean TAB instead of 8 spaces?). Stop.我一脸蒙蔽,怎么回事,明明一模...
2019-04-29 17:19:24
11765
原创 (亲测,十分方便!)win10下 配置python编辑器Geany配置
一、Python的安装Python直接可以在官网下载(https://www.python.org)只需记住关键的几个点就可以了1.安装路径。一定不要安装在根目录下(注意!注意!注意!)哈哈,这个应该大部分人都不会犯,(可惜小编我在很早装python的时候就犯过这样的错误)2.Python的版本我们会给Python添加一些其它的库,这时候版本,处理位数,操作系统就很重要了,请大家选择合...
2019-04-26 20:58:32
5730
5
原创 错误 "xxxx":C++提示非标准语法;请使用 "&" 来创建指向成员的指针
VS错误提示严重性 代码 说明 项目 文件 行 禁止显示状态 工具错误 C3867 “xxxx”: 非标准语法;请使用 “&” 来创建指向成员的指针 projectName filePath col CL很新手人看到这个错误很蒙蔽,到底错哪了呢?别急,别急!先看一下怎么修改吧,估计看了你会默然一笑修改在提示的那一行认真检查类成员函数的调用,如Widget.name//Wid...
2019-04-13 22:30:33
44808
25
原创 经典智能算法之粒子群算法详解
经典智能算法之粒子群算法要理解粒子群算法怎么可能没有算法背景,请看算法历史粒子群优化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受人工生命研究结果的启发、通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法。自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界生物的群体行为...
2019-04-07 21:08:53
26522
8
原创 Makefile 执行过程中出错:make: *** No rule to make target ‘ all ‘,needed by ‘all’.Stop
Makefile错误(1)
2019-04-05 12:31:28
109748
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人