
语言学习笔记
文章平均质量分 50
FakeOccupational
这个作者很懒,什么都没留下…
展开
-
c++高性能多进程 cuda编程: online_softmax实现
【代码】c++高性能多进程 cuda编程: online_softmax实现。原创 2025-04-02 19:00:00 · 337 阅读 · 0 评论 -
【VSCODE 调试 cmake_debug】解决 ERROR: Failed to prepare executable target with name ‘undefined‘
【代码】【VSCODE 调试 cmake_debug】解决 ERROR: Failed to prepare executable target with name ‘undefined‘原创 2024-10-16 19:00:00 · 710 阅读 · 0 评论 -
【c++ 高性能】:pthread多线程 pthread_cond_timedwait函数
参数cond:条件变量指针。mutex:互斥量指针。与一样,需要先锁定互斥量。abstime:指定的超时时间,类型为,表示绝对时间(即从某个时间点开始到目标时间的总时间,而不是相对时间)。返回值0:成功被唤醒。ETIMEDOUT:超时,未被唤醒。其他错误码:失败。原创 2024-10-13 19:00:00 · 1384 阅读 · 0 评论 -
【cpp/c++ summary 工具】Visual Studio 2022 切换编译器(Clang、MinGW Minimalist GNU for Windows)
_bf16。原创 2024-10-08 15:00:00 · 1524 阅读 · 0 评论 -
【cpp/c++ summary 工具】Visual Studio 2022 安装与cmake项目配置
【cpp/c++ summary 工具】Visual Studio 2022 安装与cmake项目配置原创 2024-10-07 15:00:00 · 794 阅读 · 0 评论 -
【cpp/c++ summary 工具】 conan包管理器安装与cmake项目配置
用户广泛、全面、跨平台的c++包管理工具CONAN原创 2024-10-06 15:00:00 · 389 阅读 · 0 评论 -
【cpp/c++ summary 工具】 vcpkg 包管理器
【代码】【cpp/c++ summary 工具】 vcpkg 包管理器。原创 2024-10-05 15:00:00 · 717 阅读 · 0 评论 -
【cpp/c++ summary 工具】 Hunter 报错 CMake hunter error: Unexpected MSVC_VERSION
【代码】【cpp/c++ summary 工具】 Hunter 报错 CMake hunter error: Unexpected MSVC_VERSION。原创 2024-10-04 15:00:00 · 289 阅读 · 0 评论 -
【cpp/c++ summary 工具】 vld(Visual Leak Detector)windows 内存泄漏检测工具
Visual Leak Detector,这是一个用于检测C/C++程序内存泄漏的工具。它可以在开发Windows应用程序时发现并修复内存泄漏的问题。确保在项目设置中链接到VLD的库。这样可以在程序启动时初始化VLD。原创 2024-10-02 15:00:00 · 511 阅读 · 0 评论 -
【cpp/c++ summary 工具】 Hunter 包管理器
Hunter 是一个跨平台cpp包管理器,点击查看支持的所有包的列表。原创 2024-09-30 19:00:00 · 453 阅读 · 0 评论 -
p2p、分布式,区块链笔记:libp2p通过libp2p_demo::network实现文件传递功能
主要依赖clap库进行命令行参数解析,使用async_std进行并行操作,使用libp2p_demo::network中的相关方法进行网络建立与文件传输,但是代码量却减少了很多,这是由于libp2p_demo::network对libp2p中的集群事件等相关方法,将文件传递功能进行了集成。原创 2024-07-07 10:00:00 · 661 阅读 · 0 评论 -
p2p、分布式,区块链笔记: 通过libp2p的Kademlia网络协议实现kv-store
以下这些函数或方法是根据 Kademlia 网络协议设计的,它们实现了基本的网络操作,包括获取数据记录、获取数据提供者、存储数据记录和开始提供数据等功能(这里只展示了项目中用到的函数,常用函数可以看。Kademlia 是一种分布式哈希表协议和算法,用于构建去中心化的对等网络,核心思想是通过分布式的网络结构来实现高效的数据查找和存储。,Kademlia 作为 libp2p 中的 NetworkBehaviour的组成。,更多函数可见如下图中的源码部分)。原创 2024-07-03 23:00:00 · 1225 阅读 · 0 评论 -
Rust学习笔记:Windows安装记录+Rust插件与Rust代码调试
crate(箱子)是 Rust 项目的一个编译单元。一个 crate 可以是一个库(library crate),也可以是一个可执行文件(binary crate)。每个 crate 都有一个唯一的名称,是带有函数的结构体(C语言结构体里不能有函数,所以可以说是。原创 2024-07-02 10:00:00 · 559 阅读 · 0 评论 -
Rust学习笔记 (命令行命令) : 用override set 设置工具链
这是由于Windows多使用MSVC(Microsoft Visual C++编译器,MSVC只支持Windows平台)而linux中多用GCC(GNU Compiler Collection,GCC可以跨平台,但是可能代码中存在特定于某个编译器的代码比如有。(无法运行“Ring v0.16.20”的自定义构建命令),在PowerShell命令行运行命令。感觉和CMake中的以下代码中的配置类似,其将编译器设置为了MSVC以进行代码生成。,然后才能执行对应的函数)原创 2024-07-01 22:00:03 · 520 阅读 · 0 评论 -
C++ summary 工具 nm c++filt
nm命令是一个用于显示二进制文件(通常是可执行文件或共享库)中的符号表的工具。它通常用于查看程序或库中定义的全局符号和函数的信息。nm命令对于分析二进制文件中的符号和调试信息非常有用。其中是要分析的二进制文件的路径。以下是一些常用的nm-a-g-p-u-C-r以下是一些示例:请注意,nm命令的输出可能会很庞大,具体的输出格式和信息取决于二进制文件的类型和编译器的选项。在查看输出时,你可能会看到符号的地址、类型(函数、对象、未定义等)、符号名等信息。原创 2024-04-16 06:30:00 · 715 阅读 · 0 评论 -
Rust学习笔记006:代码组织
库 crate 是为了提供可重用的代码而设计的。它可以被其他程序引用,并在其它 crate 中使用。库 crate 可以包含一系列模块,结构体,函数等,以便其他人或你自己可以通过引用它来使用这些功能。创建一个库 crate,你可以使用cargo这将创建一个名为my_library的库 crate 项目。二进制 crate 是可执行的程序,它包含了 main 函数,可以直接运行。这种 crate 主要用于构建独立的应用程序,而不是作为库供其他 crate 使用。创建一个二进制 crate,你可以使用。原创 2024-01-01 17:27:24 · 1385 阅读 · 0 评论 -
Rust学习笔记000:安装
rust学习笔记原创 2023-12-31 22:25:06 · 1055 阅读 · 0 评论 -
Rust学习笔记005:结构体 struct
下面是一个简单的例子,展示了如何定义和使用struct// 定义一个结构体x: f64,y: f64,// 使用结构体// 创建 Point 结构体的实例// 访问结构体的字段println!println!// 创建可变的结构体实例,并修改字段的值// 结构体的解构println!原创 2023-12-31 21:48:13 · 1006 阅读 · 0 评论 -
Rust学习笔记004:Rust的所有权机制
移动构造函数的目标是在没有不必要的资源复制的情况下,将资源从一个对象“移动”到另一个对象,以提高效率。在C++中,移动构造函数(Move Constructor)是一种特殊的构造函数,用于在对象的所有权被转移(移动)时创建新对象。移动构造函数通常用于提高性能,特别是在涉及资源管理的情况下,比如使用动态内存分配的对象。这意味着在函数中你可以使用该值,但在函数返回后,调用者将无法再使用它。在 Rust 中,所有权系统与函数的参数传递和返回密切相关,它确保在函数调用过程中对所有权的正确管理。类具有移动构造函数。原创 2023-12-31 21:38:28 · 1664 阅读 · 0 评论 -
Rust学习笔记003:语句和表达式+函数+控制语句:IF,MATCH,LOOP
语句是执行一些操作但不返回值的代码单元。例如,声明变量、赋值、函数调用、宏调用等都是语句。在 Rust 中,语句末尾不需要分号,但如果在语句之间有多个表达式,需要用分号分隔。原创 2023-12-31 21:38:10 · 1476 阅读 · 0 评论 -
Rust学习笔记002: 猜字游戏
这个Rust程序实现了一个简单的用户输入互动,要求用户猜测一个数字。程序通过标准输入(stdin)获取用户的输入,并将输入存储在一个字符串变量中,然后将用户的猜测打印出来。注意到程序中使用了&mut guess,表示对guess变量的可变引用,这是因为read_line函数需要修改传入的字符串以存储用户的输入。原创 2023-12-31 21:37:56 · 743 阅读 · 0 评论 -
Rust学习笔记001:HELLOW WORLD + Cargo
Cargo 是 Rust 的构建系统和包管理工具- 构建代码、下载依赖的库、构建这些库。安装 Rust 的时候会安装 Cargo,使用查看。原创 2023-12-31 21:37:35 · 1345 阅读 · 0 评论 -
可执行文件压缩 (Executable compression)+UPX
是一个流行的可执行文件压缩工具,专门用于减小可执行文件的大小,从而减少磁盘占用空间和加快文件传输速度。UPX支持多种平台,包括Windows、Linux、macOS等。UPX使用一系列压缩算法,其中包括LZMA(Lempel-Ziv-Markov chain-Algorithm)和其它一些变种。UPX通过在文件静态存储时进行压缩,生成包含压缩后的可执行文件的新文件。这个新文件可以被传输、存储,并在需要时解压缩以执行。但是由于UPX的特性,一些反病毒软件可能会将使用UPX压缩的文件标记为潜在的恶意软件。原创 2023-12-29 19:31:52 · 2900 阅读 · 0 评论 -
c++ summary对齐 栈对齐字节 mpreferred-stack-boundary
在线或者使用GDB的disassemble查看汇编代码中临时变量分配的空间,发现临时空间大小为16的倍数。这是由 GCC的栈对齐值, -mpreferred-stack-boundary 决定的。原创 2023-12-27 15:26:14 · 548 阅读 · 0 评论 -
OpenGL :LearnOpenGL笔记
https://github.com/JoeyDeVries/LearnOpenGL/blob/master/src/1.getting_started/2.1.hello_triangle/hello_triangle.cpp顶点缓冲对象:Vertex Buffer Object,VBO主要用于存储顶点数据,包括顶点的位置、颜色、法线等信息。VBO通过缓冲区对象将这些数据存储在GPU中,提高了数据传输的效率。顶点数组对象:Vertex Array Object,VAO主要用于封装顶点数据的配置和状态。VA原创 2023-12-25 19:38:30 · 426 阅读 · 0 评论 -
【cpp/c++ summary 构建系统】有关cmake配置和CMakeLists.txt
有关cmake和CMakeLists.txt,Cmake的使用,跨平台编译程序原创 2023-12-21 19:56:47 · 1168 阅读 · 0 评论 -
c++ summary 工具: 内存占用计算工具 Valgrind(暂记)
Valgrind能够帮助发现代码中的细节问题,比如malloc的地址用delete删除而非free(gcc有时不会报错)。原创 2023-12-17 17:35:58 · 605 阅读 · 0 评论 -
c++ 虚函数表 virtual method table (VMT)
当通过对象调用虚函数时,编译器会通过对象的vptr找到对应的虚函数表,并根据虚函数的索引(通常是函数在虚函数表中的位置)来调用相应的虚函数。这就是动态绑定(Dynamic Binding)的机制,它能够在运行时确定对象的具体类型,并调用相应的虚函数,而不是在编译时就确定调用的函数。类的虚构与类的创建相反,它是在销毁一个类的实例时进行的。析构函数会按照与构造函数相反的顺序逐层调用,先调用子类的析构函数,然后再调用父类的析构函数,直到达到类层次结构的顶层。在C++中,类对象的指针并不直接知道自己的访问边界。原创 2023-12-17 17:31:14 · 216 阅读 · 0 评论 -
python c++ summary pdb gdb frame registers 调试器,栈帧,寄存器的查看
python和c/c++调试器的使用,栈帧,寄存器的查看原创 2023-12-17 17:28:55 · 891 阅读 · 0 评论 -
C++ summary 工具 godbolt: 源码工具:应用篇 inline函数
在线执行悬停,显示帮助右键,查看文档。原创 2023-12-17 17:26:30 · 1157 阅读 · 0 评论 -
C++工具 Insights: 源码工具
godbolt是一个交互式工具,允许您在一个窗口中键入代码,并在另一个窗口中查看其编译结果。C++ Insights是一个基于Clang的工具,可以执行c++到c++的转型。帮助我们理解复杂的语法或对象类型。原创 2023-07-29 15:33:44 · 1297 阅读 · 0 评论 -
c++高性能:多进程 cuda编程
c++高性能:多进程 cuda编程原创 2023-03-16 09:00:00 · 1505 阅读 · 0 评论 -
CPP项目中使用CUDA(opencv+cuda or pybind+cuda)
CPP项目中使用CUDA(opencv+cuda or pybind+cuda)原创 2023-03-16 08:45:00 · 438 阅读 · 0 评论 -
c++高性能:多进程 mpi 笔记
c++高性能:多进程 mpi 笔记原创 2023-03-16 08:30:00 · 1731 阅读 · 0 评论 -
c++高性能:std多线程 thread、mutex、condition_variable future
c++高性能:std多线程 thread、mutex、condition_variable future原创 2023-03-16 08:15:00 · 976 阅读 · 0 评论 -
leetcode232. 用栈实现队列(两个栈实现)
【代码】leetcode232. 用栈实现队列(乱记)原创 2023-03-12 09:30:00 · 122 阅读 · 0 评论 -
leetcode876.链表的中间结点 快慢指针
【代码】leetcode876.链表的中间结点 快慢指针。原创 2023-03-12 09:00:00 · 153 阅读 · 1 评论 -
leetcode226. 翻转二叉树
【代码】leetcode226. 翻转二叉树。原创 2023-03-12 09:00:00 · 102 阅读 · 0 评论 -
模型量化:PTQ + onnx
将 32 位浮点(实数)模型转换为 8 位整数模型原创 2023-03-12 08:30:00 · 1894 阅读 · 0 评论 -
docker 常用命令
【代码】dockers。原创 2023-03-12 08:30:00 · 1077 阅读 · 0 评论