- 博客(266)
- 资源 (29)
- 收藏
- 关注
原创 BF16 和FP16 ,FP32区别以及转换方法
FP32(单精度浮点数)结构:32 位(1 符号位,8 指数位,23 尾数位)。动态范围:指数范围约为 10−3810^{-38}10−38 到 103810^{38}1038(偏移 127)。精度:约 7 位有效十进制数字。用途:通用计算,需要高精度的场景(如科学计算)。优点:高精度、大动态范围。缺点:内存和计算资源消耗大。
2025-03-12 10:14:45
1155
原创 vscode编程插件cline 配置deepseek使用说明
但是你会发现,他只能执行文本回复,不能像云端服务一样创建文件,编辑代码等操作,查看别人配置ollama deepseek可以编辑代码,查了好久感觉查到了问题所在,好像要执行创建编辑代码功能需要模型或者服务支持function-call功能,如果没这个功能就不能自动编辑代码,ollama上的deepseek好像都不支持functioncall, 但是别人配置的ollama deepseek怎么支持的编辑代码我就不清楚了,有知道原因的希望能告诉我一下。按照上面的方法配置好cline,就可以用了。
2025-02-07 16:36:54
1851
原创 使用llama.cpp 在推理MiniCPM-1.2B模型
llama.cpp是一个开源项目,它允许用户在C++中实现与LLaMA(Large Language Model Meta AI)模型的交互。LLaMA模型是由Meta Platforms开发的一种大型语言模型,虽然llama.cpp本身并不包含LLaMA模型的训练代码或模型权重,但它提供了一种方式来加载预先训练好的模型,并使用它们进行文本生成等任务。
2024-09-18 16:58:53
1067
原创 Debian 包管理工具apt使用
apt通常被认为比apt-get更易于使用,因为它整合了一些额外的命令,如search和,并且在命令行提示中提供了更丰富的信息反馈。然而,apt-get仍然被广泛使用,特别是在脚本和自动化环境中,因为它的命令集更小,输出更一致,更易于解析。在日常使用中,除非你有特殊的需求(如编写脚本或自动化任务),否则apt应该能满足大部分包管理的需求。
2024-09-11 10:37:12
1058
原创 ubuntu 22.04 安装部署gitlab详细过程
GitLab 是一个非常流行的 DevOps 平台,主要用于版本控制和源代码管理。它提供了许多优势,使其成为软件开发团队的首选工具之一。集中式与分布式版本控制GitLab 支持 Git,这是一种分布式版本控制系统,允许开发者在本地进行大部分工作,然后将更改推送到中心仓库。这提高了开发效率,并有助于避免冲突。项目管理功能GitLab 提供了项目管理工具,如问题跟踪、里程碑、标签、看板等,帮助团队更好地组织和跟踪项目进度。持续集成/持续部署 (CI/CD)
2024-07-23 15:06:16
4239
2
原创 gdb 调试程序常用指令
GDB(GNU Debugger)是一个功能强大的调试工具,广泛用于调试C、C++等编程语言的程序。深入理解GDB的使用可以大大提高程序开发和调试的效率。下面我们通过多个具体的例子来详细介绍GDB的使用方法和技巧。
2024-07-19 13:12:05
829
原创 gcc 编译原理深入理解
通过这些具体的例子,我们可以看到GCC在每个编译阶段是如何工作的,以及它使用的各种优化技术。理解这些细节有助于开发人员编写更高效的代码,并能更好地调试和优化程序。深入理解GCC的编译原理需要了解其编译过程、内部工作机制和各种优化技术。GCC作为一个强大而复杂的编译器集合,利用了一系列的技术手段来生成高效的机器代码。对于编译器的研究者和使用者而言,理解这些原理不仅有助于更好地使用GCC,还能帮助进行编译器相关的优化和开发工作。
2024-07-18 21:23:53
1039
原创 用Qwt进行图表和数据可视化开发
QWT开发主要涉及使用QWT库进行图表和数据可视化相关的开发工作。QWT(Qt Widgets for Technical Applications)是一个用于Qt应用程序的扩展库,专门设计用于绘制技术和科学应用中的数据图表和曲线。数据可视化使用QWT库绘制各种类型的图表和曲线,包括折线图、散点图、柱状图等。实现实时数据更新,支持动态数据展示。图表定制根据应用需求定制图表的外观和行为,包括坐标轴、刻度、图例等。添加交互功能,如缩放、平移、选择等。数据处理实现数据的导入、处理和显示。
2024-07-11 14:22:38
1515
1
原创 C++数据的高效传递--左值引用和右值引用
右值引用主要用于实现移动语义和完美转发。左值引用和右值引用是C++中的两个重要概念。左值引用引用持久存在的对象,而右值引用引用临时对象。通过右值引用,C++实现了移动语义和完美转发,从而提高了程序的效率和灵活性。理解和正确使用它们,对于编写现代、高效的C++代码非常重要。
2024-07-05 13:40:28
491
原创 C++后端开发--网络编程基础
HTTP(HyperText Transfer Protocol,超文本传输协议)是用于分布式、协作和超媒体信息系统的应用层协议,是万维网数据通信的基础。HTTP起初由蒂姆·伯纳斯-李(Tim Berners-Lee)为万维网设计,现由互联网工程任务组(IETF)和万维网联盟(W3C)共同维护。HTTP协议定义了浏览器(客户端)与Web服务器之间的通信规则。网络编程是后端开发中的重要技能,掌握基础概念和Socket编程方法是深入学习和实践的第一步。
2024-07-03 17:20:39
1775
原创 数据存储:大端存储与小端存储
大端存储(Big-endian)和小端存储(Little-endian)是计算机科学中数据在内存中存储的两种不同方式,主要涉及多字节数据类型(如整数、浮点数)的字节排列顺序。大端存储(Big-endian)在大端存储模式下,数据的高字节(或称作高位、最重要字节)被存储在内存的低地址处,而数据的低字节(或称作低位、最不重要字节)存储在高地址处。这意味着当你从低地址向高地址读取内存时,数据会按照从高到低的顺序出现,类似于阅读英文书的顺序,从左到右。
2024-07-03 09:51:18
9005
原创 C++可从事的工作以及行情
例如,在游戏开发中,C++常用于游戏客户端的编写,因为它能够直接操控硬件资源,实现复杂的图形渲染、物理模拟等功能。此外,对于需要高性能处理的桌面应用,如专业级的图像编辑软件、CAD软件等,C++也是优选。在机器学习、图像处理、物理模拟、搜索引擎技术、推荐系统等领域的算法开发中,C++能够提供必要的计算效率和控制能力。C++在嵌入式领域被广泛采用,用于开发各种智能设备的固件和驱动程序,如物联网(IoT)设备、工业控制器、汽车电子系统、医疗设备、微控制器编程、嵌入式操作系统开发等。
2024-07-02 19:32:15
1349
1
原创 Linux 进程间通讯
选择IPC机制时,应考虑通信的需求(如速度、可靠性、复杂性、数据大小等),以及进程之间的关系(如是否在同一台机器上,是否有亲缘关系等)。例如,对于需要高速数据传输的场景,共享内存可能是最佳选择,而如果需要在网络上的多个机器之间通信,则应使用套接字。在Linux系统中,进程间通信(IPC)是多个运行中的程序或进程之间交换数据和信息的关键机制。Linux提供了多种IPC机制,每种机制都有其特定的用途和优势。这些IPC机制在实际开发中各有其适用场景,选择适合的方式可以有效地实现进程间的通信和数据共享。
2024-06-27 09:54:35
1023
原创 MVVM模式理解(基于Qt分析)
MVVM(Model-View-ViewModel)软件框架可以有效分离用户界面和业务逻辑,提升代码的可维护性和可测试性。下面我们简要的实现一个MVVM框架示例,并说明其特点和优势。
2024-06-18 07:43:13
1386
1
原创 如何开发高效服务(C++ )
使用上述开发模式和设计模式,可以构建高效的 C++ 服务器。选择适合的模式和设计模式可以提高代码的可维护性、可扩展性和性能。在实际开发中,可以根据需求组合使用这些模式,构建出高效可靠的服务器应用。
2024-06-15 18:39:35
976
原创 编译打包linux内核为iso
是一个强大的命令行工具,主要用于创建、修改和操作 ISO 9660 文件系统映像,这是光盘上使用的标准文件系统格式。它超越了基本的 ISO 创建功能,还支持更高级的光盘映像操作,如多-session光盘、混合模式(ISO 9660 + HFS 或 UDF)光盘以及Rock Ridge扩展,后者用于在ISO映像中保持Unix/Linux文件属性,如符号链接、所有权和权限。编译Linux内核时,配置是关键的一步,它决定了内核将包含哪些功能以及这些功能是以何种形式存在(例如,是否编译为模块)。
2024-05-11 13:50:34
1645
2
原创 mount 挂载硬盘以及卸载硬盘
在Linux系统中,挂载硬盘或任何存储设备(如USB驱动器、外部硬盘、分区等)以及卸载它们是非常常见的操作。以下是如何使用mount和umount命令进行这些操作的基本指南。
2024-04-30 14:31:54
1491
原创 GNU nano编辑文件,保存文件
请注意,在nano中进行保存操作时,通常都会要求用户确认,因此即使使用。快速退出,nano也会确保你有机会先保存文件再退出程序。存在,则打开该文件;如果不存在,则创建新文件。
2024-04-24 13:58:00
2822
原创 git tag管理
请注意,删除tag将会永久性地移除该标签关联的历史版本记录,除非你知道确切的提交哈希,否则无法恢复。所以在删除旧tag之前,请确保你有足够信息来重新创建指向相同提交的新tag。删除云端tag的操作较为特殊,因为Git本身不提供直接删除远程tag的命令。在Git中,tag一旦创建通常是不可变的,因此不能直接重命名一个已经存在的tag。如果你想查看包含特定模式的标签,比如所有以 "v1." 开始的标签,可以使用。首先,在本地创建一个新的tag,可以使用。表示删除指定的引用,这里就是指名为。
2024-04-24 10:38:59
480
2
原创 在docker容器中编译 rk3588 ubuntu固件
因为网络环境等原因,.repo/repo/repo sync -c --no-tags 命令更新代码可能会失败,可多次反复执行。SDK 源码存放于 gitlab,国内用户可能下载完整的 SDK 仓库速度比较慢,所以FireFly提供了一个 SDK 基础包。,国内用户只需要在此基础包上同步 gitlab 上的代码就可以了,本人使用的linux sdk基础包。我们所有的操作都在挂载的文件夹里边进行防止数据丢失。直接通过dockerfile构建方便快捷。下载完毕后得到6个压缩包文件。
2024-04-23 17:32:16
1082
原创 编译支持播放H265的cef控件
接着在上次编译的基础上增加h265支持测试页面,直接使用,里边带着的那个html即可,h265视频去这个网站下载,我修改的这个版本参考了里边的修改方式,不过我的这个版本改完之后,直接video.canPlayType()函数,返回的信息也是提示支持h265播放。
2024-04-22 10:56:03
1273
1
原创 docker灵活部署mysql
当你使用Docker运行MySQL时,并且希望将MySQL数据库的数据存储在宿主机(也就是运行Docker的主机)上的特定路径,你需要在启动容器时通过。参数来实现数据卷挂载。这样可以确保数据库的数据持久化,即使容器停止或删除,数据也不会丢失。用docker部署mysql,并将数据库映射到主机上,并增加远端访问mysql数据库。,要将这个目录作为MySQL容器内部的数据存储位置,你可以按照以下方式执行。数据存在在host主机上,防止docker关闭数据清空。假设你已经在宿主机上创建了外部数据目录,例如。
2024-04-19 16:47:03
404
原创 ubuntu用户与用户组管理
执行这个命令会永久性地从系统中移除指定的用户组,因此在执行此操作前,请确保不再有其他用户依赖于此组,或已经将相关的用户转移到了其他合适的组中。请注意,虽然赋予了sudo权限的新用户在执行sudo命令时能暂时获取root级别的权限,但他们在日常操作中并不是真正的root用户。在执行这些命令前,请确保你有正确的权限,并且确认没有重要的数据会被误删。这将在系统中新增一个名为“developers”的用户组,之后可以将用户添加到这个组中,以便共享相应的组权限。如果要同时删除用户的主目录及其中的所有文件,使用。
2024-04-19 16:05:03
2196
原创 Qt事件机制
Qt的事件机制是Qt应用程序的核心组成部分,它是基于事件驱动模型设计的,允许程序对用户的输入以及其他系统事件做出响应。Qt 的事件机制是其框架的核心之一,它使得对象能够接收和响应各种事件,包括鼠标点击、键盘按键、定时器事件等。综上所述,Qt的事件机制确保了应用程序能够有效地响应用户输入和其他外部条件的变化,从而实现动态交互的图形用户界面及相关的逻辑处理。当鼠标在该窗口内按下时,事件过滤器首先接收到事件,打印出鼠标点击的位置,然后决定是否阻止事件的进一步传播。类自身作为自己的事件过滤器,通过重载。
2024-04-10 16:04:00
711
原创 尝试在手机上运行google 最新开源的gpt模型 gemma
Gemma是谷歌于2024年2月21日发布的一系列轻量级、最先进的开放语言模型,使用了与创建Gemini模型相同的研究和技术。由Google DeepMind和Google其他团队共同开发。Gemma提供两种尺寸的模型权重:2B和7B。每种尺寸都带有经过预训练(pre-trained)和经过指令调制(instruction-tuned)的变体。
2024-04-09 14:21:40
1533
1
原创 git lfs如何使用
Git Large File Storage (LFS) 是一个Git扩展工具,用于更好地管理和存储大型文件(例如图片、视频、数据集等),这些文件不适合直接纳入Git仓库进行版本控制。
2024-04-08 10:46:31
10304
1
原创 Qt 容器类整理与使用
QList详细介绍QList是Qt框架中的一个重要的泛型容器类,它是动态数组的实现,但是它的内部实现并不是简单的连续内存区域,而是根据元素大小和数量选择最优的存储策略(可能是数组或者链表)。这意味着QList能够灵活地应对不同场景下的需求,尤其是在元素较小或者大量元素已预先分配空间的情况下,它会尽可能地利用连续内存来加速随机访问。特点与功能模板类:QList是一个模板类,可以存储任何QObject派生类或者其他POD类型的数据。动态性:QList的大小可以在运行时动态调整,可以随时添加或移除元素。
2024-04-07 14:16:12
1842
1
原创 将图像转换为ASCII艺术形式
通过这个简单的示例,我们展示了如何使用OpenCV库将图像转换为ASCII艺术形式。这种技术可以应用于许多领域,如图像处理、艺术创作以及图像压缩等。你可以根据自己的需求和创意对这个程序进行扩展和改进,创造出更加独特和有趣的效果。
2024-04-02 13:54:36
731
1
原创 std::setprecision std::fixed 介绍与使用
指示输出时最多应显示的小数位数。请注意,这并不包括整数部分的位数,也不保证能完全精确地表示原始浮点数的所有有效数字,因为浮点数的内部表示可能存在舍入误差。是另一个操纵符,它指示输出流在格式化浮点数时采用固定的定点表示法,即总是包含小数点以及后面的小数部分。是一个操纵符,用于设置输出流中浮点数的精度,即表示小数部分显示的位数。两者结合使用可以精确控制浮点数输出的格式,即定点表示且具有指定数量的小数位。当需要精确控制浮点数的小数位数并确保以定点形式输出时,确保输出的浮点数具有指定数量的小数位。
2024-03-26 12:47:23
1628
原创 Qt获取电脑屏幕大小
在Qt中获取电脑屏幕的大小(宽度和高度),可以使用类(对于Qt 4.x和早期的Qt 5.x版本)或QScreen类(对于较新的Qt 5.x版本及以上)。
2024-03-25 17:43:21
2363
2
原创 std::tuple_cat 简单使用
这个函数非常有用,特别是在需要合并多个元组或创建一个多元素组合的时候。是C++标准库中的一个函数模板,用于将一个或多个。在这个例子中,我们首先创建了三个不同的。实例连接起来,形成一个新的。按照索引访问并输出了新。,其中包含了所有原来。
2024-03-21 14:27:58
519
原创 OpenCV 将rgb图像转化成字符图像
这段代码首先将RGB图像转换为灰度图像,然后对其进行降采样,最后将每个像素的灰度值映射到字符集中的字符,形成ASCII艺术图像。这里的字符集可以根据需要自定义,亮的像素映射到字符集中靠前的字符,暗的像素映射到靠后的字符。此外,降采样的比例应根据输出设备的实际分辨率进行调整。将RGB图像转换成字符图像(ASCII art)通常涉及到灰度化、降采样、映射字符等一系列步骤。
2024-03-11 14:42:47
525
原创 使用OpenCV实现两张图像融合在一起
图像融合技术是一种结合多个不同来源或不同传感器捕获的同一场景的图像数据,以生成一幅更全面、更高质量的单一图像的过程。这种技术广泛应用于遥感、医学影像分析、计算机视觉等多个领域。常见的图像融合技术包括基于像素级、特征级和决策级的融合方法,以及基于多尺度分解如图像金字塔的方法。
2024-03-11 13:52:46
2616
原创 大模型中 .safetensors 文件、.ckpt文件和.pth以及.bin文件区别、加载和保存以及转换方式
在大型深度学习模型的上下文中,.bin和.pthckpt文件这是由 Hugging Face 推出的一种新型安全模型存储格式,特别关注模型安全性、隐私保护和快速加载。它仅包含模型的权重参数,而不包括执行代码,这样可以减少模型文件大小,提高加载速度。加载方式:使用 Hugging Face 提供的相关API来加载文件,例如函数。ckpt文件。
2024-03-06 16:48:21
50453
1
原创 简单介绍一下Qt动画系统,并举例说明如何使用
Qt动画系统是Qt框架中的一部分,用于创建和管理动画效果。它提供了一种简单而强大的方式来实现动态图形效果,使得用户界面更加生动和交互。属性动画(Property Animation):允许您对控件的属性进行动画处理,如位置、大小、颜色等。您可以通过指定起始值和目标值,以及动画的持续时间和插值函数来创建属性动画。并行动画(Parallel Animation):允许多个动画同时进行,可以并行地对多个属性或对象进行动画处理。顺序动画(Sequential Animation)
2024-03-05 14:38:57
4069
1
原创 Windows和Linux分别如何控制台创建链接
确保你有足够的权限来创建链接,并且目标文件和链接文件的路径是正确的。命令允许你创建硬链接、符号链接或者目录链接。命令有两种类型的链接:硬链接和符号链接(也称为软链接)。在Windows操作系统中,你可以使用。在Linux中,你可以使用。命令在控制台创建链接。命令时使用合适的权限。
2024-02-23 10:22:15
535
cef + chromium 完整源码支持h265和h264
2024-04-28
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows32
2024-04-26
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows64
2024-04-26
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows32
2024-04-24
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows64
2024-04-24
cef + chromium 完整源码(cef 5414 chromium 109)
2023-11-28
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows32
2023-10-11
cef-binary-109.0.1+gcd5e37a+chromium-109.0.5414.8-windows32.zip
2023-09-07
cef chromium-109.0.5414.8 x64 支持视频播放 Release版本
2023-08-08
go编程书籍 学习资料 go并发编程实战 go语言编程 go语言程序设计 go语言圣经 go语言实战
2023-08-07
H264 标准中文版和英文本
2023-08-07
android-studio-2022.1.1.19-mac.dmg
2023-05-06
cef chromium-109.0.5414.8 x64 支持视频播放
2023-03-04
bgr buffer与bgra buffer
2018-11-08
实现类似av_parser_parse2功能
2018-09-19
视频倒播实现
2018-09-18
TCP实现的批量大文件传输
2018-06-28
More effective C++ 中文版, 35个改善编程和设计的有效方法
2018-03-11
gradle-4.1-all.zip附带网址下载
2018-01-23
编译opencv需要的下载失败的ffmpeg.dll/iipcv/face_landmark_model.dat
2018-01-12
爬取谷歌安卓官方Demo的python小程序
2017-07-30
VC++实现录屏截屏
2017-07-30
蓝牙小车安卓客户端源码
2016-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人