自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人技术博客

计算机相关技术

  • 博客(542)
  • 收藏
  • 关注

原创 程序员的自由修养(3)静态链接

链接器的工作过程可以分成两步,一、空间与地址分配;二、符号解析与重定位,下面详细介绍下这两步的工作原理。

2025-05-28 17:51:38 291

原创 dumpbin 工具

dumpbin 是 Microsoft Visual Studio 工具链中提供的 COFF 二进制文件转储工具,属于 Microsoft COFF Binary File Dumper。它是分析 Windows 平台可执行文件、库文件和对象文件的瑞士军刀。

2025-05-21 17:26:42 739

原创 Javascript 编程基础(4)函数 | 4.4、bind() 方法

bind()是 JavaScript 函数对象的一个内置方法,它创建一个新的函数(称为"绑定函数"),这个新函数的this值会被永久绑定到指定的对象。与call()和apply()不同,bind()不会立即执行函数,而是返回一个准备就绪的新函数。

2025-05-21 16:21:22 343

原创 Javascript 编程基础(4)函数 | 4.3、apply() 与 call() 方法

2025-05-21 15:42:10 300

原创 Javascript 编程基础(4)函数 | 4.1、函数简介

1.2、函数表达式1.3、箭头函数(ES6 新增)单个参数:当函数仅接受一个参数时,可以省略圆括号。多个参数:当有多个参数时,需要用圆括号包围它们。无参数:如果函数不需要任何参数,则使用一对空的圆括号。多行语句:如果函数体包含多条语句,则需要使用花括号 包围,并且需要显式地使用 来返回结果。2、函数参数2.1、参数传递2.2、默认参数默认参数应该放在参数列表的最后。如果非默认参数放在默认参数后面,调用时仍需传递值或使用 2.3、剩余参数基

2025-05-21 15:25:37 962

原创 Javascript 编程基础(4)函数 | 4.2、this 绑定机制

是 JavaScript 中最容易混淆的概念之一,它的绑定机制决定了函数执行时的上下文。的工作原理对于编写可靠的 JavaScript 代码至关重要。的一个属性,每次函数调用都会创建一个新的执行上下文,其中的。JavaScript 按照以下优先级顺序确定。的值不是在函数定义时确定的,而是在。这与大多数编程语言中的。

2025-05-21 15:24:02 698

原创 Javascript 编程基础(2)基础知识 | 2.3、语法规则

JavaScript推荐使用。,但在某些情况下可省略(依赖。

2025-05-20 15:55:07 226

原创 Javascript 编程基础(3)数据类型 | 3.1、类型介绍

JavaScript采用动态类型系统,变量可以在运行时改变其数据类型,这提供了灵活性但也需要开发者注意类型相关的问题。

2025-05-20 15:28:55 450

原创 Javascript 编程基础(2)基础知识 | 2.2、变量

JavaScript 的变量系统虽然看似简单,但包含了许多需要注意的细节。理解变量声明方式、作用域、提升机制以及类型差异对于编写健壮的 JavaScript 代码至关重要。随着 ES6+ 的普及,let和const已成为现代 JavaScript 开发的首选,而var的使用应逐渐减少。

2025-05-20 14:27:07 931

原创 Javascript 编程基础(2)基础知识 | 2.1、javascript与Node.js

现代Web开发中,两者通常配合使用,JavaScript处理客户端逻辑,Node.js处理后端服务,共同构成完整的JavaScript全栈解决方案。

2025-05-19 15:02:25 470

原创 C/C++ 知识点:引用临时对象

这是完全合法的,而且临时对象的生命周期会被延长到与引用相同的作用域。这种机制使得C++能够高效地处理临时对象,同时保持类型安全。这也是合法的,同样会延长临时对象的生命周期。这是不合法的,编译器会报错。

2025-05-19 14:08:05 312

原创 程序员的自由修养(2)目标文件格式

目标文件是编译的中间产物,包含代码、数据、符号和重定位信息。COFF是Windows目标文件的标准格式,结构清晰,分为文件头、节区、符号表和重定位表。链接器的任务是合并多个目标文件,解析符号引用,生成可执行文件。现代格式_PE/ELF/Mach-O均从COFF演进而来,适应不同操作系统的需求。通过理解COFF目标文件的结构,可以更深入地掌握编译、链接的工作原理,为调试和性能优化奠定基础。

2025-05-07 23:32:09 981

原创 C++对象注册系统(1)实现原理

自动化:避免手动维护注册逻辑,实现「声明即注册」确定性:规避静态初始化顺序的不可控性扩展性:天然支持动态加载的插件架构高效性:利用链接器原生支持的低成本收集机制这种模式广泛用于游戏引擎(Unreal的UClass)、序列化框架(Protocol Buffers)等需要动态类型管理的系统。

2025-05-07 18:18:27 924

原创 Python 爬虫实战 | 企名科技

2025-04-24 23:20:36 1300

原创 C++ 新特性 | C++ 11 | bind

bind。

2025-04-23 10:07:23 457

原创 C++ 新特性 | C++ 11 | function

function。

2025-04-23 09:39:21 267

原创 OCCT 入门(4)数据结构

OCCT(Open CASCADE Technology)的基础数据结构是其几何建模能力的核心,主要围绕 边界表示法(BRep) 构建,同时包含几何、拓扑、算法和工具类等模块。

2025-04-21 17:59:20 392

原创 Python 入门教程(9)文件操作 | 9.1、文件基础操作

Python 提供了多种文件操作方法,主要用于。在 Python 中写入文件时,可以通过。来指定文件的编码格式(如。函数打开文件,需指定。在 Python 中,,具体取决于你的需求。手动关闭文件(若未用。

2025-04-21 13:58:29 695

原创 OCCT 入门(3)核心模块与架构

OpenCASCADE Technology (OCCT) 采用模块化分层架构,核心模块分为基础层建模层和可视化层,各层协同工作以提供完整的几何建模能力。

2025-04-15 17:56:25 638

原创 OCCT 入门(1)OCCT 简介

OCCT 是一个开源跨平台的三维几何建模内核,广泛应用于 CAD/CAM/CAE、工业仿真、3D 打印等领域(如 FreeCAD、KiCAD 等软件的核心引擎)。提供下面这些基本功能几何建模基础实体(立方体、圆柱、球体等)高级曲线/曲面(NURBS、Bezier、B样条)布尔运算(并/差/交)、特征操作(拉伸/旋转/扫掠)数据交换支持STEP、IGES、STL等工业格式导入导出。可视化与交互基于OpenGL的3D渲染,支持选择、高亮、动态交互(AIS框架)。网格处理。

2025-04-15 17:36:23 383

原创 C/C++ 知识点:解释型语言与编译型语言

解释型语言编译型语言Python(解释型)执行方式:C++(编译型)执行方式:总结:

2025-04-11 11:18:16 368

原创 C/C++ 知识点:静态语言与动态语言

静态语言重安全与性能,动态语言重开发效率与灵活性。

2025-04-11 10:23:38 454

原创 C++ 新特性 | C++ 11 | 万能引用与完美转发

万能引用是一种能够绑定到左值、右值、const和非const对象的引用。T &&其中T是一个推导类型(通过模板参数推导或auto推导)。

2025-04-07 11:15:47 307

原创 C++ 新特性 | C++ 11 | 使用 std::forward 实现完美转发

是 C++ 完美转发(Perfect Forwarding)的核心工具,它与万能引用配合使用,保持参数原始的值类别(左值/右值)。

2025-04-03 09:35:49 344

原创 C++ 新特性 | C++ 11 | 引用折叠机制

引用折叠是C++11引入的类型推导规则,用于处理多重引用嵌套的情况,是现代C++模板编程的重要基础机制。

2025-04-02 17:58:40 331

原创 C++ 新特性 | C++ 11 | std::move

std::move的核心工作就是通过类型转换将一个值标记为"可移动的",让编译器知道可以使用移动语义而非拷贝语义。它本身不移动任何数据,只是为移动操作创造条件。实际的资源转移是由对应类的移动构造函数或移动赋值运算符完成的。

2025-04-02 17:42:07 599

原创 C++ 新特性 | C++ 11 | 移动语义

移动语义通过。

2025-04-01 17:54:07 294

原创 C++ 新特性 | C++ 11 | 左值、右值与将亡值

左值:有名字的变量;右值:临时的值;将亡值:快被移动的值。左值引用 (:操作原变量;右值引用 (&&:高效“偷”资源。

2025-04-01 17:51:06 568

原创 OCCT 入门(2)Windows平台编译OCCT

【代码】OCCT(2)Windows平台编译OCCT。

2025-03-31 17:53:53 557

原创 Python 爬虫(5)Beautiful Soup 4 实战

BeautifulSoup 是一个用于从 HTML 或 XML 文件中提取数据的 Python 库。它可以将复杂的 HTML 或 XML 文档转化为树形结构,使得开发者能够轻松地遍历、搜索和修改文档内容。借助 BeautifulSoup,我们能够迅速定位到所需的数据,如特定的标签、属性或文本信息。自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。支持多种解析器(如lxml、html5lib等)。提供简单易用的导航、搜索和修改文档树的方法。能够处理不规范的HTML文档。

2025-03-30 22:38:45 1159

原创 Visual Studio | 性能探测器

Visual Studio(VS)提供的性能探测器(Performance Profiler)是一款强大的工具,它能够帮助开发者分析应用程序的性能,找出性能瓶颈,进而优化代码。

2025-03-27 17:28:01 714

原创 Python 爬虫(4)HTTP协议

HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于在客户端和服务器之间传输超文本(如HTML文件)。HTTP协议是Web的基础,它定义了客户端如何请求资源以及服务器如何响应这些请求。

2025-03-21 09:28:51 1046

原创 Python 爬虫(3)requests包

在Python爬虫开发中,

2025-03-20 11:16:36 1078

原创 Python 爬虫(2)Web请求

Web请求是互联网通信的基础,它允许客户端(如浏览器)与服务器之间进行数据交换。理解Web请求的原理对于开发Web应用、优化性能以及解决网络问题至关重要。本文将详细介绍Web请求的基本原理,包括其组成部分、工作流程以及常见的协议和技术。

2025-03-18 14:39:18 1038

原创 几何基础(1)三角函数

常见的三角函数包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot),下面介绍下这些函数的用法。

2025-03-17 10:18:39 442

原创 OpenGL(4)着色器

着色器(Shader)是运行在 GPU 上的小程序,用于处理图形渲染过程中的特定任务。传统的 OpenGL 渲染流程中,CPU 需要承担大量的图形计算任务,而引入着色器后,将这些计算任务转移到 GPU 上,利用 GPU 的并行计算能力,大大提高了渲染效率。当 OpenGL 进行图形渲染时,会将顶点数据(如顶点坐标、颜色、纹理坐标等)传递给着色器进行处理。着色器根据预设的算法对这些数据进行计算和转换,最终生成像素的颜色值,用于显示在屏幕上。整个渲染过程可以分为多个阶段,每个阶段由不同类型的着色器负责处理。

2025-03-11 17:45:31 1898

原创 OpenGL(3)对象

在 OpenGL 中,有许多常见的对象,它们在图形渲染流程中各自承担着重要的角色。下面将详细介绍几种常见对象及其工作原理。

2025-02-28 09:23:29 269

原创 C++ 新特性 | C++ 14 | enable_if_t 模版

是 C++14 引入的一个模板元编程工具,它是的便捷别名。定义在头文件中,主要用于在编译时根据条件来启用或禁用某个模板实例化,从而实现更灵活的泛型编程。下面详细介绍的作用和使用场景。

2025-02-26 16:52:10 723

原创 C++ 编程基础(8)模版 | 8.4、类型萃取

可以通过模板特化自定义类型萃取。// 输出 0 (false)// 输出 1 (true)return 0;C++中的类型萃取是模板元编程的基础工具,通过头文件提供的工具,可以在编译时获取和操作类型信息,实现更灵活和高效的代码。

2025-02-25 17:47:11 351

原创 OpenGL(2)基于Qt做OpenGL开发

确保你已经安装了 Qt 开发环境(包含 Qt Creator),并且支持 OpenGL 开发。在创建 Qt 项目时,选择 “Qt Widgets Application” 或 “Qt Quick Application”,根据项目需求进行选择。类来创建一个 OpenGL 窗口。在 Qt 中,可以通过继承。

2025-02-20 17:27:49 624

MyTableView

MyTableView

2024-10-30

C++多线程内存顺序实现原理图

C++多线程内存顺序实现原理图

2024-04-26

pre-commit在提交前对代码进行检查

pre-commit

2024-04-07

代码风格审查工具cpplint

cpplint

2024-04-07

Git 配置BCompare工具

Git 配置BCompare工具

2024-04-07

Qt编程基础 - 第六章-窗体 - 6.4、QWidget 自定义右键菜单

Qt编程基础 - 第六章-窗体 - 6.4、QWidget 自定义右键菜单

2023-08-22

空空如也

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

TA关注的人

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