自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2003)
  • 问答 (2)
  • 收藏
  • 关注

转载 Intel VT-x 处于禁用状态【各电脑进入方法】

之前安装过一个VM,但是一直没有启用过,今天本来做个eNSP的教程,打开后发现Intel VT-x 处于禁用状态,就先做处理方法吧。

2026-03-19 16:53:27 40

转载 故事+动图,让PID知识通俗易懂!

第一部分啥是PID?PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法。PID已经有107年的历史了。它并不是什么很神圣的东西,大家一定都见过PID的实际应用。比如四轴飞行器,再比如平衡小车......还有汽车的定速巡航、3D打印机上的温度控制器....就是类似于这种:需要将某一个物理量“保持稳定”的场合(比如维持平衡,稳定温度、转速等),PID都会派上大用场。那么问题来了:比如,我想控制一个“热得快”,让一锅水的温度保持在50℃

2026-02-06 16:23:16 78

转载 UDP 协议解析(理论+抓包解析)

UDP(User Datagram Protocol,用户数据报协议)是传输层协议之一,与TCP不同,它提供无连接、不可靠、轻量高效的数据传输服务,适用于实时性要求高但对可靠性要求较低的场景(如游戏、视频流、DNS查询等)。通信前无需建立连接(对比TCP需要进行“三次握手”)无确认机制,无重传机制。发出的数据,不关心对方是否收到UDP的头部开销仅8个字节(对比TCP需要至少20个字节)

2026-02-06 16:18:48 153

转载 ZeroTier 使用教程

ZeroTier是一款强大的 P2P VPN 工具,它能让你在互联网上搭建属于自己的虚拟局域网。通过它,你可以轻松实现远程访问家中设备的需求 - 比如在公司用手机直接访问家里的 NAS。最重要的是,设备之间是点对点直连的,无需经过中转服务器,既保证了速度,又提升了安全性。

2026-01-31 14:22:55 855

转载 浅谈三大组网神器PK:Tailscale、ZeroTier还是Cloudflare Tunnel?告别中继依赖

Tailscale适合需要强大网络管理和安全性的场景,ZeroTier适用于需要高性能数据传输的场景,而Cloudflare Tunnel则适合需要将本地服务暴露给互联网的用户。考虑到入手难度和灵活性,Tailscale和ZeroTier可能是更好的选择,特别是考虑到它们可以自己搭建国内中继服务器,并且得到了许多路由器的支持。:Tailscale和ZeroTier采用加密通信和身份验证,Cloudflare Tunnel则利用Cloudflare的安全体系。:需要公网IP和开通端口,适合有公网IP的用户。

2026-01-31 14:20:13 536

转载 Linux echo 命令与变量输出全解析:从基础到高级实践

在 Linux 系统中,echo是最基础且高频使用的命令之一,主要功能是在终端输出文本或变量值。而变量则是 Shell 中存储数据的容器,用于简化重复操作、传递参数或动态配置。将echo与变量结合,能极大提升 Shell 脚本的灵活性和自动化能力。本文将从echo命令的基础语法出发,详细讲解 Linux 变量的定义与使用,结合大量实例演示如何通过echo输出变量,并深入探讨高级技巧、常见实践及最佳实践,帮助读者彻底掌握这一核心技能。变量是 Shell 中存储数据的命名空间,本质是“键值对”(变量名=值。

2026-01-30 17:08:38 59

转载 彻底搞懂size_t与ssize_t:从标准定义到实际应用场景

在C和C++语言中,size_t和ssize_t是用于表示内存大小和有符号尺寸的关键类型。它们的引入源于跨平台开发中对可移植性的需求。不同架构下的指针和整型长度存在差异,直接使用int或long可能导致不可预知的行为。为此,C标准库在<stddef.h>和中定义了这些类型以确保一致性。size_t被定义为无符号整数类型,通常由sizeof操作符返回。它在所有主流平台上都能容纳最大可能的对象尺寸。其对应的有符号版本是ssize_t,常用于系统调用如read()和write()

2026-01-20 17:13:32 94

转载 工业通讯协议(二)- EtherCAT

EtherCAT(Ethernet for Control Automation Technology)是一种在工业自动化中广泛使用的高性能以太网通信协议。它由德国的Beckhoff Automation公司在2003年开发,目的是用于控制系统中实现更快的数据交换。EtherCAT符合IEEE 802.3标准,并且是国际电工委员会(IEC)的公开标准,即IEC 61158和IEC 61784。高性能:EtherCAT协议设计用于高速数据交换,具有很低的通信延迟和高数据吞吐量。

2026-01-09 14:32:50 573

转载 EtherCAT (学习笔记)

运动控制系统处理机械系统中一个或多个坐标上的运动以及运动之间的协调,实现精确的位置控制、速度和加速度控制、转矩和力的控制等。单轴的运动控制系统可分为开环、半闭环和闭环伺服系统。多轴运动控制系统可以分成点位控制、连续轨迹控制和同步控制。EtherCAT从站设备在报文经过其节点时读取相应的数据报文,同样输入数据也是在报文经过时插入到报文中。整个过程报文只有几纳秒的时间延迟,实时性获得极大提高EtherCAT作为一种工业以太网总线,充分利用了以太网的全双工特性。

2026-01-09 14:31:39 409

转载 EtherCAT 的寻址方法: 顺序寻址(Positional Addressing)、节点寻址(Node Addressing)

EtherCAT 的寻址方法: 顺序寻址(Positional Addressing)、节点寻址(Node Addressing)_ecat的位置寻址原理-CSDN博客

2026-01-09 14:28:20 125

转载 在for循环中为STL容器插入与删除元素的注意事项

push_back() 存在类似的问题,那就是如果存储空间不够了,STL是完全有可能将数组拷贝到另外一个更大的空间的,这种情况下,原先的迭代器将毫无意义!这和集合的红黑树存储结构有关,有的情况下恰好不会报错,但如果A={1,2,3,4,5}A=\{1,2,3,4,5\}A={1,2,3,4,5},则会报错。前三次循环依次删除了1,3,51,3,51,3,5三个元素,因此可以推测出,该用法forforfor循环实际上记录了当前迭代元素的物理位置,当前的第0,1,20, 1, 20,1,2位置;

2026-01-06 15:34:11 49

转载 深入研究NNG(nanomsg)软件架构

NNG是开源的轻量级消息通信中间件。相对它的前辈(nanomsg,zeroMP), 它算是系列中的第三代产品了。同时支持Windows平台和Linux&Unix平台支持线程间通信,进程间通信,TCP通信,TLS通信等传输层。最牛B的是,用户接口是统一的,只是切换不同参数就实现了传输层的变化。也就是说,你之前的代码是线程间通信,只需要修改参数就能改为进程间通信或网络节点间通信。这简单是软件开发的银弹!非代理模式。也就是去中心化,所有的通信都不需要代理转发,也就不需要中心服务器。节省成本和复杂度!

2026-01-05 16:41:25 196

转载 can总线500kb速率,总线上最多可以承受多少帧报文 , 工控新人问下,can总线通讯的工作原理到底是什么呢?

本篇文章给大家谈谈 can总线500kb速率,总线上最多可以承受多少帧报文 ,以及 工控新人问下,can总线通讯的工作原理到底是什么呢?CAN 总线的通信距离最远可达10Km(位速率为5 kbps) ,通信速率最快可达 1Mbps(此时最长通信距离为40m)。报文传输CAN技术的报文传输为多主方式工作,网络上任意节点均可在任意时刻主动地向网络上其它节点 发送信息,而不分28000帧报文。

2026-01-05 13:58:57 180

转载 CAN总线负载率与节点数量关系的深度解析

CAN(Controller Area Network)是一种广泛应用于车载网络和工业控制系统的串行通信协议。其采用广播式、多主竞争型通信机制,所有节点共享同一物理总线。总线负载率(Bus Load Rate)是指单位时间内总线上传输的数据量占理论最大传输能力的百分比。总线负载率 = (Σ(报文长度 × 报文发送频率) / 总线带宽) × 100%其中,标准CAN帧包含11位标识符、数据域(0~8字节)、控制域、CRC等,总开销约为44~132位。

2026-01-05 13:24:55 166

转载 CAN FD网络中每秒最多可以发送多少帧报文?

CAN FD协议是由Bosch以及行业专家预研开发的,并于2012年发布。通过标准化对其进行了改进,现已纳入ISO 11898-1:2015。一开始的Bosch CAN FD版本(非ISO CAN FD)与ISO CAN FD是不兼容。1、增加了数据的长度CAN FD每个数据帧最多支持64个数据字节,而传统CAN最多支持8个数据字节。这减少了协议开销,并提高了协议效率。2、增加传输的速度CAN FD支持双比特率:与传统CAN一样,标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑。

2026-01-05 13:15:43 69

转载 如何计算CAN总线的负载率以及每帧耗时和每秒最多传输帧数

上,不同的波特率下,每秒钟最多能够传输多少帧数据,或者说,每帧数据需要耗时多少时间。】,有需要的可以自行下载。当然,考虑到下载需要积分(这里要澄清一下,本来我上传时是选择不需要积分下载的,但是CSDN会自动调整,这不是我能左右的),如果积分不多,也可以直接留言邮箱给我,我单独发给你。首先我们要确认几个输入参数,包括CAN总线的波特率,要传输的帧类型和帧格式,然后根据CAN协议规范,计算出该帧的bit数。我们用数据帧来做示例,详见图1。实际的表格,我上传到CSDN了【今天遇到一个问题,需要计算一下。

2026-01-05 13:14:41 58

转载 CAN通讯不同帧类型与数据长度的传输时间计算(基于500K波特率)

注意:IFS(Intermission)是发送完一帧后,总线必须保持空闲的时间,一般不计入“一帧的发送时间”内,但影响的是下一帧的发送时机。尤其是携带不同数据长度(如1~8字节)时,时间会有多大差异?说明:以上“总位数”是近似值,实际可能为 109~111 bits,但 220 µs(8字节)是一个合理且通用的参考值。• 增加了 SRR(替代远程请求位,1bit,显性) 和 IDE(标识符扩展位,1bit,隐性)• 如果系统对实时性要求极高,可考虑更高波特率(如 1M、2M),传输时间将成比例缩短。

2026-01-05 13:01:22 131

转载 NNG协议

NNG是 nanomsg 的继任版本,而 nanomsg 则是流行的 ZMQ (一个简单好用的传输层,像框架一样的一个 socket library)的 C 重写版。NNG 将通信使用的协议和传输分离,同一个协议可以工作在不同的传输层上,类似与 TCP/IP 的应用层和传输层的分层,同时接口上屏蔽了底层细节,统一用字符串 URL 来描述传输模式。这样当使用场景修改时,可以通过简单修改 URL 来实现适应,极具灵活性。

2025-12-13 22:40:03 209 1

转载 NNG 开源项目教程

NNG的源代码目录结构如下:├── CMakeLists.txt # 主要的CMake构建脚本├── include # 公共头文件│ └── nng # NNG的核心头文件├── src # 源码目录│ ├── aio # 异步I/O接口│ ├── core # 核心功能│ ├── msg # 消息处理│ ├── protocols # 各种消息协议实现│ │ ├── pair # 对等协议│ │ ├── pubsub # 发布/订阅协议。

2025-12-13 22:35:16 158 1

转载 qt为什么转向用cmake放弃qmake

Qt 转向 CMake 不是“折腾”,而是“进化”。对 Qt 公司:降低维护成本,拥抱开源生态对开发者:获得更强大、更标准、更未来的构建体验虽然 CMake 初学曲线略陡,但它是现代 C++ 开发的必备技能,投资回报极高。└── 简单但局限 → 无法满足现代需求↓qbs (2013)└── 技术先进但生态失败 → 被社区抛弃↓└── 行业标准 → Qt 全面拥抱问题答案qbs 是什么?Qt 推出的新一代构建系统,试图替代 qmakeqbs 和 qmake 关系?

2025-12-13 22:30:27 144

转载 【Linux】Linux系统上升级到最新的CMake版本

在Linux系统上升级到最新的CMake版本(如最新版本为4.0.2),可以按照以下清晰有序的步骤操作。以下指南假设您使用的是基于/Ubuntu或Red Hat的发行版(如CentOS/RHEL),并提供多种安装方式(二进制安装、源码编译、包管理器等)。

2025-12-09 15:51:23 278

转载 开源推荐——Kitware系列之Kitware简述

公司致力于开发高质量的开源软件和提供相关的软件开发服务,其主要领域包括计算机视觉、医学成像、科学可视化、地理信息系统(GIS)等。Kitware公司是一家致力于开源软件开发和软件开发服务的科技公司,其产品和开源项目在计算机视觉、医学成像、科学可视化等领域得到了广泛应用。除了开源软件开发之外,Kitware公司还提供软件开发服务,包括软件开发、咨询、培训等。:一个开源的可视化和分析软件,用于处理大规模数据集。:一个用于医学图像数据管理和分析的开源软件。:一个用于医学图像分析和可视化的开源软件。

2025-12-09 15:28:39 117

转载 使用 Visual Studio Code 调试代码

在您按下 Enter 后,表达式会被求值,并且调试控制台 REPL 会在您键入时显示建议。本文介绍了 VS Code 的调试功能,以及如何在 VS Code 中开始调试。运行时有内置的调试支持,可以调试 JavaScript、TypeScript 或任何其他被转译为 JavaScript 的语言。断点是一个特殊的标记,它会在特定点暂停您的代码执行,以便您可以在该点检查应用程序的状态。如果您的调试会话涉及多个目标(例如,一个客户端和一个服务器),调试工具栏会显示会话列表并允许您在它们之间切换。

2025-12-08 14:35:22 141

转载 vscode调试技巧

在现代前端与全栈开发的日常工作中,代码调试是不可或缺的一环,而一款优秀的调试工具能够显著提升开发效率,减少问题定位的时间成本。Visual Studio Code(简称 VSCode)作为一款备受开发者喜爱的轻量化编辑器,不仅提供了丰富的插件生态和高效的代码编辑体验,更以其强大的调试功能成为开发者工作流中不可或缺的一部分无论是调试 Node.js 后端代码、前端浏览器代码,还是更复杂的容器化微服务系统,VSCode 都提供了灵活的调试支持。

2025-12-08 14:34:00 74

转载 Windows环境使用VSCode 调试Linux环境C/C++代码

由于Window上编译Linux系统下的代码,因此可将Linux看作是另外一台电脑,不管是不是虚拟机,容器之类的,或者说Windows 10 上通过Windows商店安装的Ubuntu系统,只要能通过ssh远程连接,就可以通过VSCode来远程调试,因此VSCode需要安装远程插件,在插件搜索框搜索Remote SSH,将下图中选中的插件都安装上,其他相应插件会自动安装。command,这里因为是要执行make命令,因此这里就写make,其实也跟上面一样,命令行上执行什么这里就写什么;

2025-12-04 19:02:11 153

转载 VMWARE-虚拟机与主机间的关系

NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡。笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。

2025-12-03 19:37:25 68

转载 Linux 安全文件传输完全指南:sftp 与 scp 的深度解析引言

在 Linux 系统管理中,文件传输是日常工作中不可或缺的一部分。然而,在不安全的网络中传输文件可能会带来严重的安全风险。OpenSSH 套件提供了多种安全文件传输工具,其中sftp和scp是最常用的两种。本文将深入探讨这些工具的使用方法、安全性考量以及最佳实践。SFTPSCP(Secure Copy)也是 OpenSSH 套件的一部分,它使用 SSH 协议进行安全的文件传输。SCP 命令语法简单,长期以来被系统管理员广泛使用。优先使用 SFTP:功能丰富、安全性高、交互友好避免使用 SCP。

2025-12-03 17:51:42 116

转载 Windows 10上开启路由转发及添加路由

将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRoute设为1。将 Routing and Remote Access 服务的启动类型更改为自动并启动服务。注意:实验环境下主机B两个接口没有网关。完成之后,ping测试即可。

2025-12-03 17:48:09 330

转载 利用netsh命令实现端口映射(端口转发)的功能(netsh命令仅在windows系统下可用,文章后面附linux端口转发)

如果你希望在两个远程主机之间进行端口转发,可以使用SSH的端口转发功能。在Linux中,你可以使用一些不同的工具和方法来进行端口转发,具体取决于你的需求和环境。表示要将规则添加到 PREROUTING 链中,这是一个在数据包进入路由之前处理的链,通常用于进行端口转发。这将在本地主机上创建一个监听端口8888的代理,所有传入的连接将被转发到目标IP的80端口。这将在本地IP的本地端口上监听连接,并将它们转发到目标IP的目标端口。: 这个部分指定了要匹配的目标端口,即传入连接的目标端口为80。

2025-12-02 16:43:00 145

转载 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=7890 connectaddress=127.0.0.1

是 Windows 系统中一个强大的工具,能够帮助实现端口转发功能,适用于本地服务代理、跨主机通信、网络穿透等多种场景。通过掌握其命令结构、工作原理和实际应用方法,我们可以。(Port Forwarding)的命令。通过这个命令,可以将一个本地端口上的流量转发到另一个地址和端口上。这种技术常用于网络调试、代理服务、跨主机通信等场景。正如一句话所说:“网络是无形的桥梁,而端口转发则是桥上的指路牌。,就能为复杂的网络环境搭建清晰的通信路径。地解决网络通信中的问题。服务器IP:7890。开发机IP:7890。

2025-12-02 16:05:25 102

转载 Linux ip命令完全指南:网络管理的首选工具

在现代Linux系统中,ip命令已经取代了传统的ifconfig、route等命令,成为网络配置和故障排除的首选工具。ip命令是iproute2软件包的一部分,提供了统一的接口来管理Linux系统的网络功能。4. IP地址管理(address对象)4. IP地址管理(address对象)3. 网络接口管理(link对象)6. 邻居表管理(neigh对象)3. 网络接口管理(link对象)6. 邻居表管理(neigh对象)5. 路由管理(route对象)5. 路由管理(route对象)

2025-12-01 12:51:49 87

转载 虚拟机VMware和宿主机连接[通俗易懂]

如果有什么错误或问题欢迎私聊评论指正!未完,待续。发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171613.html原文链接:https://javaforall.cn虚拟机VMware和宿主机连接[通俗易懂]-腾讯云开发者社区-腾讯云。

2025-11-28 12:40:18 153

转载 dhclient 命令详解

动态主机配置协议客户端。②dhclient命令的作用:使用动态主机配置协议动态的配置网络接口的网络参数,也支持BOOTP协议。③DHCP客户端 dhclient 提供了一种使用动态主机配置协议 和 BOOTP 协议配置一个或多个网络接口的方法。如果这些协议失败,则通过静态分配地址来配置。④动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。

2025-11-28 12:38:05 106

转载 VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)

VSCode是笔者用过的最好用的开发工具,没有之一。笔者14年的码龄生涯中,先后用过Eclipse、 IntelliJ IDEA、 WebStorm、 PyCharm、 Visual Studio(2010/2013/2015)、 NetBeans、 Sublime Text等,但自从用VSCode之后,就再没换过其他工具,一直用到现在有5年多的时间。

2025-11-25 11:31:45 86

转载 VSCode系列 - 如何用VSCode搭建C++高效开发环境(2)

在VSCode下进行C/C++开发,C/C++插件是最重要、功能最强大、也是最复杂的一个插件。我们从C/C++: 代码智能提示、补全、跳转等功能,集成了插件的几乎所有功能。Formatting: 代码格式化器,可对代码进行自动格式化。: 通过代码(注释)生成文档,定义注释的样式,集成Doxygen等工具。: 代码分析器,对代码的错误、风格等进行检查,集成了Clang-Tidy。Debugging: Debug调试器。: 资源管理器。: 其他杂项配置。进行C/C++开发,C/C++

2025-11-25 11:19:14 122

转载 解决vscode C/C++ Advanced Lint的具体操作步骤

VSCode C/C++ Advanced Lint是一款专为C/C++项目开发者设计的代码静态分析工具。它结合了多种静态分析工具,如clang-tidy、cppcheck和PVS-Studio,提供了全面的代码检查和错误诊断功能。该工具可以在开发过程中自动检查代码,并提示潜在的问题和改进建议。

2025-11-25 11:17:46 281

转载 vscode中嵌入cppcheck进行静态检查,包含插件使用方法

2 使用misra 2012进行检查。

2025-11-25 11:16:43 227

转载 CS:理解编程中 lint是什么意思

在计算机科学与技术(尤其是编程领域)中,​​(或 ​​)是一种用于检查代码潜在问题、风格不一致或不符合编码规范的工具。它的名称源于早期 Unix 系统中的一个工具lint(1979年),最初用于 C 语言代码的静态分析。

2025-11-25 11:15:04 120

转载 什么是Lint工具?何时需要使用Lint工具?

类似地,由计算机科学家斯蒂芬·约翰逊(Stephen C. Johnson)编写的Lint命令就像一个干衣机中的棉絮陷阱,因为它在不影响整块布的情况下捕获了多余的“纤维”。但是,如果您使用的是编译语言或开发的是复杂的嵌入式系统,那么Linter并不能满足您的一切需求。后续的Linter和类似Lint的工具不仅仅关注样式和格式,还通过查找更广泛的问题扩展了功能,例如未解决的合并冲突、已弃用的函数以及使用不安全的语言功能。请记住,Linter会根据其了解的规则分析您的代码,找出其中的风格和软件缺陷。

2025-11-25 11:14:14 69

转载 OOM问题排查,Linux进程突然被杀掉(OOM killer)

Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉。内核检测到系统内存不足、挑选并杀掉某个进程的过程可以参考内核源代码linux/mm/oom_kill.c,当系统内存不足的时候,out_of_memory()被触发,然后调用select_bad_process()选择一个”bad”进程杀掉。如何判断和选择一个”bad进程呢?

2025-11-25 10:04:58 96

空空如也

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

TA关注的人

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