- 博客(396)
- 资源 (4)
- 收藏
- 关注
原创 OpenGL笔记:历史版本、不同版本由什么决定
OpenGL 1.5版本增加了缓冲区对象 VBOOpenGL 2.1 加入了在缓冲区对象中存储像素数据(例如,纹理贴图或像素块)的支持OpenGL 3.1 增加了统一缓冲对象(uniform buffer object)OpenGL 3.0 增加顶点数组对象 VAO。
2025-12-24 22:45:00
448
原创 Qt笔记:QNetworkReply::UnknownNetworkError与SslSocket::connectToHostEncrypted: TLS initialization failed
使用QNetwork模块,出现QSslSocket::connectToHostEncrypted: TLS initialization failed。访问https的链接时,返回错误:QNetworkReply::UnknownNetworkError。
2025-11-24 17:41:34
135
原创 UDP的recvfrom会返回一个完整的数据报
在阅读Luanti服务器网络部分的代码时,发现未使用tcp连接,而是基于udp实现的可靠连接,读到如下代码,m_udpSocket.Receive后,就直接判断,若received_size < BASE_HEADER_SIZE就认为是错误了。基于本人之前很少些UDP程序,写的是TCP的,就有疑惑,这里如何保证收到的收据包肯定大于BASE_HEADER_SIZE?
2025-11-06 22:30:00
619
原创 Qt笔记:QtAdvancedStylesheet使用时,关于url(icon:/primary/checklist_invert.svg)的疑惑
在使用qt_material时,发现material.css中对图像引用使用如下语法,qt文档中没找到icon:/primary类似的语法,有点好奇。
2025-11-03 22:30:00
334
原创 Qt笔记:属性选择器(Property Selector)的特殊属性class
以上css,定义了class为danger的样式,应用此样式,只需要代码中设置QLabel对象的class属性为danger即可,也支持动态属性(即可以不需要用Q_PROPERTY去定义class属性,当然定义了也可以用)
2025-11-01 00:15:00
430
原创 Qt笔记:qt5.15.2自行编译qtscript
qt5.15.2中,qtscript已被弃用,官方提供的版本没有编译,但源码还是提供了。到qt6时应该就完全不用了吧,说明如下:历史与现状用vs2019(已安装qt vs扩展,)直接打开qt源码目录下的qtscript.pro,Qt5Script顺利通过,但编译Qt5ScriptTools报编译错误,
2025-10-27 22:30:00
553
2
原创 Qt笔记:的初次使用Qt-Advanced-Docking-System
CDockContainerWidget下管理着一些CDockAreaWidget,CDockAreaWidget管理者一些CDockWidget,CDockWidget管理者用户创建的具体窗口。CDockManager继承自CDockContainerWidget,CDockManager本身管理着一些CDockContainerWidget,CFloatingDockContainer。
2025-10-23 22:30:00
532
原创 Cef笔记:Cef消息循环的集成
调用频率过高则会增加 CPU 占用。采用此方式时,无需调用 CefDoMessageLoopWork() 或 CefRunMessageLoop(),但仍需在主应用程序线程中调用 CefInitialize() 和 CefShutdown()。在 Windows 或 Linux 的 cefclient 中,可通过命令行参数 --multi-threaded-message-loop 测试此模式。在 cefclient 中,可通过命令行参数 --external-message-pump 测试此模式。
2025-10-21 22:45:00
1263
原创 Cef笔记:VS2019编译cef_109.0.5414
cef本身的编译我试了下,依赖的东西多,不好找,所以就直接使用cef官网提供的预编译包,参看。需要匹配好自己使用的vs版本以及操作系统等,参看。
2025-10-21 22:15:00
343
原创 utf8, utf16, utf32在前256个字符是不是一样的?
UTF-8对于128-255使用多个字节,而UTF-16和UTF-32使用固定字节数,具体字节序列不一致。所以UTF-8、UTF-16和UTF-32在前256个字符的编码不是一样的。
2025-10-09 22:15:00
189
原创 CMake笔记:cmake -G “NMake Makefiles“ 后,如何生成debug与release?
使用 NMake Makefiles 生成器时,CMake 默认是单配置生成器(即每次只能生成一种构建类型,如 Debug 或 Release)。所以要针对不同的config建不同的目录,通过CMAKE_BUILD_TYPE来控制生成不同nmake file。新建目录build_debug,build_release进入build_debug目录,执行以下命令,生产Debug类型进入build_release目录,执行以下命令,生成Release类型。
2025-09-20 10:36:27
398
原创 软件推荐:HTTrack
HTTrack Website Copier for Windows是一款基于GPL协议的开源免费离线浏览器工具,支持将整个网站内容下载至本地目录进行离线访问。该软件适配Windows 2000至Windows 10及以上系统,提供简体中文界面,可通过递归建立目录结构完整抓取HTML、图像及文件资源,并保持原始网站的链接跳转功能。其核心功能包括断点续传、在线与本地内容同步更新,支持镜像多个网站至指定文件夹。
2025-09-16 21:45:00
244
原创 空间解析几何中坐标系变换的进一步理解
解析几何或计算机图形中的坐标系变换指的是 A坐标下的局部坐标点(x,y,z)变换到B坐标系中的局部坐标点(x’,y’,z’)而ObjectARX中AcGeMatrix3d::setToAlignCoordSys, 是坐标系的对齐映射,不是解析几何或计算机图形中的坐标系变换,指的是非局部坐标点的变换,
2025-08-22 00:27:21
524
原创 CMake笔记:Alias Target在哪些地方可以使用
generated buildsystem 指由CMake生成的底层构建文件(如Makefile),Alias Target不会写入此层,仅在CMake抽象层有效。install命令会显式写入生成的构建系统,通过make install触发,属于构建系统的可执行目标。Alias Target是配置期的逻辑抽象Install是构建期的物理操作。
2025-08-14 23:51:15
473
原创 CMake笔记:配置(Configure)、生成(Generate)和构建(Build)
触发命令:cmake --build <构建路径> --config Release。触发命令:cmake -S <源码路径> -B <构建路径>典型错误:编译错误、链接符号缺失、文件权限问题。典型错误:语法错误、未找到依赖包、变量未定义。典型错误:生成器表达式展开失败、路径冲突。本质:调用原生工具链编译二进制文件。本质:解析项目逻辑,构建内存模型。本质:转换内存模型为构建系统文件。触发时机:配置成功后自动执行。
2025-08-13 22:03:12
378
原创 CMake笔记:PUBLIC/PRIVATE/INTERFACE的使用
PUBLIC: 自身以及依赖我者使用PRIVATE: 只有自身使用INTERFACE: 只有依赖我者使用。
2025-08-12 22:18:15
291
原创 CMake笔记:错误-the keyword signature for target_link_libraries has already been used with the target
编译occt出现以下错误。
2025-06-04 21:25:38
671
原创 OCC笔记:TopoDS_Edge上是否一定存在Geom_Curve
TopoDS_Edge 是拓扑实体,Geom_Curve 是几何描述。拓扑结构可独立存在(如连接性定义),但完整CAD模型需二者协同:拓扑为骨架,几何为血肉。
2025-06-03 23:05:46
558
原创 windows下,release的dll给debug模式用,可以吗,比如zlib,freetype库
禁止混用:Debug/Release的DLL本质是两套二进制接口,混用会破坏内存管理和调试逻辑。为Debug和Release模式分别编译库的对应版本。在项目中严格配置依赖项,避免自动链接错误版本。对纯C库可尝试动态加载,但需充分测试边界场景。
2025-06-01 17:47:44
575
原创 动态库导出符号与extern “C“
根据C/C++语法规则,函数声明中的修饰符(如__declspec(dllexport))可以放在返回类型之前或返回类型之后、函数名之前。这两种方式在功能上是等价的,编译器会以相同的方式处理。注:声明函数/类的 签名和导出属性(如 extern “C” 或 __declspec(dllexport)),告知编译器按特定规则生成符号名。编译器在处理 CPP 文件时,会根据头文件声明自动应用导出规则,无需在实现中重复指定。
2025-06-01 15:57:25
580
原创 Visual Studio笔记:MSVC工具集、MSBuild
也可以说Visual Studio平台工具集(Platform toolset).这些工具包括 C/C++ 编译器、链接器、汇编程序和其他生成工具以及匹配的库和头文件。Visual Studio 2015、Visual Studio 2017 和 Visual Studio 2019 是二进制兼容的。工具集的主版本(仍为 14)显示了这一点。在 Visual Studio 2019 或 Visual Studio 2017 中编译的项目与 2017 和 2015 项目 ABI 后向兼容。
2025-05-31 11:54:39
1779
原创 Visual Stuido笔记:C++二进制兼容性之间的兼容性
Visual Studio 2013和更早的Microsoft C++(MSVC)编译器工具集不能保证主要版本的二进制兼容性。您无法将这些工具集的不同版本构建的对象文件,静态库,动态库和可执行文件链接。ABI,对象格式和运行时库是不兼容的。我们在Visual Studio 2015及以后的版本中改变了这种行为。由任何这些版本的编译器编译的运行时库和应用程序都是兼容的。它反映在C++工具集的主要数字中,自Visual Studio 2015以来的所有版本开始为14个。
2025-05-31 11:39:45
1173
原创 OCC笔记:BRepMesh_IncrementalMesh的使用
根据文档推导下isRelative传入Standard_True时,theLineDeflection为相对值。参看isRelative说明//!//!//!a对应圆心角,与推导的不一致,推导出来的a若是15度,则圆心角应该是30度,对应12条边。实际却大于12条,大概18条。occ提供的这个参数有点没搞懂,暂时就这样搁置这个问题吧。
2025-05-30 22:15:00
572
原创 OCC笔记:面、边的方向(TopAbs_Orientation)
在Open CASCADE中,面的方向(TopAbs_Orientation)本质是一个拓扑逻辑属性,用于描述面在三维空间中的“内外关系”。它与几何曲面本身的参数化方向(如UV坐标系)不同,而是更高层的拓扑语义。TopAbs_FORWARD:面法线方向指向实体外部(默认方向,表示该面是实体外壳的正向边界)。TopAbs_REVERSED:面法线方向指向实体内部(例如孔洞内壁、布尔运算中的切削面)。
2025-05-29 23:47:02
765
2
原创 Python笔记:编译的python,c++内嵌使用,failed to get the Python codec of the filesystem encoding
编译的python,c++内嵌使用,failed to get the Python codec of the filesystem encoding。
2025-05-26 00:56:47
480
原创 Python笔记:windows下编译python3.8.20
python3.4及以下可用于老系统截止到2025.4.23 Latest Python 3 Release - Python 3.13.3。
2025-05-25 17:26:02
1229
翻译 Visual Studio 版本之间的 C++ 二进制兼容性
Visual Studio 2013 及更早版本中的 Microsoft C++ (MSVC) 编译器工具集不保证主要版本之间的二进制兼容性。您无法链接由这些工具集的不同版本生成的对象文件、静态库、动态库和可执行文件。ABI、对象格式和运行时库不兼容。我们在 Visual Studio 2015 及更高版本中更改了此行为。由这些版本的编译器编译的运行时库和应用程序都是二进制兼容的。它反映在 C++ 工具集主编号中,自 Visual Studio 2015 以来的所有版本都以 14 开头。
2025-05-25 12:54:08
359
原创 vcruntime140.dll在vs哪个版本引入
VCRuntime是一个运行时库,它是微软Visual C++生态系统的一部分。它为原生代码应用程序提供必要的服务,包括C和C++程序的启动和终止功能。VCRuntime库在Visual Studio 2015中进行了重构,将其功能从旧的C运行时库(CRT)中分离出来,形成了一个独立的库。这种分离实现了更稳定的应用程序二进制接口(ABI),并确保VCRuntime不与特定版本的编译器绑定,从而更易于在不同版本的Windows系统间保持兼容性。
2025-05-25 10:57:29
575
原创 OCC笔记:Brep格式
BREP格式是Open CASCADE内核(OCCT)的原生数据模型,直接描述几何体的边界表示(面、边、顶点拓扑关系及几何参数)。于OCCT内核的算法计算(如布尔运算、曲面细分),存储格式为.brep或.rle(压缩版)。与OCCT高度绑定,数据结构优化了内存管理和计算效率。STEP文件中的三维实体(如MANIFOLD_SOLID_BREP)采用Brep结构描述几何边界,其拓扑元素(面、边、顶点)和几何数据(NURBS曲面、曲线)与OCCT的Brep格式一一对应。
2025-05-17 17:00:02
707
原创 Python笔记:c++内嵌python,c++主窗口如何传递给脚本中的QDialog,使用的是pybind11
用的是python 3.8.20, qt版本使用的是5.15.2, PySide的版本是5.15.2, pybind11的版本为2.13.6网上说在python脚本中直接用PySide2自带的QWinWidget,如from PySide2.QtWinExtras import QWinWidget,但我用的版本中说没有QWinWidget,所以就网上找了QWinWidget的源码,直接在c++宿主程序中编译,后使用pybind11导出到解释器:开始想到的是直接构造一个隐藏的QWidget,关联的是MFC
2025-05-14 23:45:00
914
原创 Python笔记:在环境变量中增加了dll加载路径,python提示DLL加载失败
在环境变量中增加了dll加载路径,python提示DLL加载失败。
2025-05-14 22:00:00
880
翻译 Windows下Dll的类型
MFC扩展DLL是一种DLL,它通常实现可重用的类,这些类派生自现有的微软基础类库(Microsoft Foundation Class Library)类。MFC扩展DLL是使用MFC的动态链接库版本(也称为MFC的共享版本)构建的。只有使用MFC共享版本构建的MFC可执行文件(无论是应用程序还是常规的MFC DLL)才能使用MFC扩展DLL。通过MFC扩展DLL,你可以从MFC派生新的自定义类,然后将此扩展版本的MFC提供给调用你的DLL的应用程序。
2025-05-13 23:00:00
98
Minetest大师v1.0.21,专注于Minetest的游戏盒子
2024-07-31
occ-vs2013-win32-debug-release
2023-12-16
occ-vs2013-x64-debug-release
2023-12-16
工程文件:使用Visual Studio自带的MC.exe工具来创建一个消息资源并将其添加到自己的DLL(或.exe)中
2015-06-07
vc贪吃蛇c++
2013-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅