自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

好习惯成就伟大

欢迎光临本博客

  • 博客(1104)
  • 资源 (4)
  • 收藏
  • 关注

原创 ❤️❤️固高运动控制卡的相关知识点

承接使用QT(C++)编程的各类固高运动控制项目,有意者可私聊。# GTS运动控制器-二维位置比较输出扩展功能指令 6 GT_2DCompareSetPrm指令原型 short GT_2DCompareSetPrm(short chn,T2DComparePrm *pPrm); 指令说明 设置二维位置比较输出参数。 指令类型 立即指令,调用后立即生效。 ...

2019-08-07 14:14:35 19535 16

原创 cmake --system-information | grep CMAKE_CXX_FLAGS

【代码】cmake --system-information | grep CMAKE_CXX_FLAGS。

2024-05-03 12:22:23 55

原创 在C++中,将结构体的所有成员初始化为0

进行初始化是推荐的做法,因为它既简洁又符合现代C++的最佳实践。对于需要深度初始化(如指针成员初始化为 nullptr 或复杂对象的初始化),则应考虑使用构造函数。如果没有显式定义构造函数,编译器会生成一个默认构造函数,该构造函数将所有成员值初始化。对于POD(Plain Old Data)类型,这意味着它们会被初始化为0。尽管这是C语言中的方法,但在C++中同样适用,尤其是处理包含内置类型的大结构体或数组时。直接在定义结构体变量时,使用初始化列表将所有成员初始化为0。

2024-04-30 15:59:28 191

原创 [前端] Bearer令牌

Bearer令牌的安全性依赖于令牌的保密性和传输的安全性。因为任何拥有令牌的人都能访问资源,所以必须确保在传输过程中使用HTTPS来防止中间人攻击,并且存储时也要妥善保管,避免令牌泄露。此外,由于Bearer令牌的这一特点,相比其他类型如MAC(Message Authentication Code) tokens,它在安全性上要求更高的保护措施。服务器接收到请求后,会验证令牌的有效性(比如检查令牌是否过期、是否被撤销等),然后决定是否允许访问请求的资源。在HTTP请求中,Bearer令牌通常放在。

2024-04-28 09:04:13 154

原创 [c++ poco] 定时器

【代码】[c++ poco] 定时器。

2024-04-24 14:12:55 214

原创 设备树中dtb和dtbo的区别

DTBO通常用于模块化硬件配置或者针对特定子系统的动态配置更改,比如在某些嵌入式系统中加载额外的硬件模块时,可以加载相应的DTBO来更新设备树配置。DTB (Device Tree Blob): 这是在启动阶段用来传递给Linux内核的硬件描述信息的二进制文件,包含了系统中的所有硬件设备信息。它是由Device Tree Source (DTS) 文件编译生成的。简而言之,DTB是完整的系统设备树,而DTBO则是对DTB的一种补充或覆盖,常用于实现更灵活的设备配置管理。

2024-04-23 17:31:00 167

原创 [wine]用wine安装的软件,启动程序放在哪里了

在Linux系统中使用Wine安装Windows程序后,软件的实际文件通常会被存储在用户的家目录下的一个隐藏的。)和其他关联文件会被组织在一个模拟的Windows文件系统结构中,其中“C:\”驱动器对应的路径是。目录下生成相应的.desktop启动器文件,这样你可以在应用程序菜单中找到并启动这些程序。此外,为了方便用户在Linux桌面环境中启动Wine安装的程序,Wine通常会在。若要在命令行下启动已用Wine安装的程序,可以直接使用。具体来说,软件的可执行文件(例如,如果你安装了一个名为。

2024-04-18 10:15:24 301

原创 [C++ 多线程并发] std::async

std::async是更高层次上的异步操作,使我们不用关注线程创建内部细节,就能方便的获取异步执行状态和结果,还可以指定线程创建策略,应该用std::async替代线程的创建,让它成为我们做异步操作的首选。

2024-04-17 20:53:15 782

原创 [C++ POCO] 信号量

在这个示例中,我们创建了一个Semaphore对象,并将初始值设置为1,表示只允许一个线程同时访问共享资源。然后我们创建了三个线程来访问共享资源,每个线程调用。Poco库中的信号量(Semaphore)是一种用于线程同步的工具,允许控制对共享资源的访问。它基本上是一个计数器,可以限制同时访问共享资源的线程数量。这样就确保了在任意时刻只有一个线程能够访问共享资源,从而避免了竞态条件和数据不一致的问题。来等待信号量可用,然后在临界区内访问共享资源,最后调用。在函数中,线程首先调用。

2024-04-16 19:12:48 175

原创 Ubuntu 查看电池信息

通过读取这些文件的内容,用户空间的程序可以实时获取电池的工作状态,进而进行电源管理、续航时间估算、节能策略调整等相关操作。在多电池系统中,如果有多个电池,那么除了 BAT0 外,还可能存在 BAT1、BAT2 等对应不同电池的目录。目录下有一个对应的子目录,这里的 “BAT1” 就代表了系统中第二个电池设备(编号从0开始,BAT0通常是第一个电池)。是Linux系统中表示电池设备的一个系统接口路径。在Linux内核中,每个电池设备通常都会在。

2024-04-11 11:30:33 208

原创 Ubuntu 显示隐藏的文件

在Ubuntu中显示隐藏文件或文件夹,您可以采用以下几种方法:CtrlH.

2024-04-09 10:52:10 153

转载 Linux 时间同步systemd-timesyncd介绍

如果是虚拟机环境,应该把与主机时间同步功能关闭后在启用systemd-timesyncd,否则可能会有问题,systemd-timesyncd只能作为客户端,不能作为NTP服务器,要成为NTP服务器,可以安装chrony、ntpd,或者open-ntp。一个空格分隔的NTP服务器列表,用作备用NTP服务器。systemd-timesyncd.service active: yes    ##NTP时间同步是否开启,yes表示是,systemd-timesyncd服务为活动也就是开启了NTP时间同步。

2024-04-08 10:11:05 21

原创 CMake中的build type

CMake中的build type指的是构建项目时所采用的构建方式或模式。这些build type代表了不同的编译和优化选项,以满足不同的需求。变量来指定所采用的build type。:这种build type结合了Release和Debug的特性,旨在提供一种较好的优化效果同时保留调试信息,以便在需要时进行调试。:MinSizeRel build type旨在最小化可执行文件的大小,通常会启用一些针对代码大小的优化。这样,在执行CMake构建时,将会使用Release build type进行构建。

2024-03-26 15:56:31 301

原创 poco c++ static linking problems with undefined references to symbols

My experience is that the order of linking the Poco libraries is important when statically linked. Seems important Foundation to be the last one.The order that works for me is:

2024-03-14 16:32:49 358

原创 调整 Wine 程序的分辨率

通过这些方法,你可以尝试调整 Wine 程序的分辨率,让它更适合你的显示器和偏好。

2024-03-12 10:27:21 451

原创 Makefile.am 中添加了文件但它们没有参与编译

忘记更新 configure.ac:如果你向 Makefile.am 添加了新的文件,你需要确保在相应的 configure.ac 文件中更新对应的 AC_OUTPUT 或者 AM_INIT_AUTOMAKE 部分,以确保新文件能够被 configure 脚本发现和处理。在确保 Makefile.am 正确地包含新文件的情况下,记得运行 ./configure 以重新生成 Makefile,并且运行 make 命令重新编译你的项目。Makefile.am 中添加了文件但它们没有参与编译。

2024-03-11 15:23:39 314

原创 WPS for Linux字体加粗问题

其次,下载“https://mirrors.ustc.edu.cn/debian/pool/main/f/freetype/libfreetype6_2.12.1%2Bdfsg-5_amd64.deb”,解压deb,将x86_64-linux-gnu里面的都拷贝到/opt/kingsoft/wps-office/office6 这样可以避免降级系统的包依赖而引起各种问题。首先,解决字体缺少问题,导入缺少的字体;

2024-03-01 21:34:39 349 1

原创 Ubuntu 切换 gcc版本

【代码】Ubuntu 切换 gcc版本。

2024-02-27 10:22:07 362

原创 在Linux系统中,查看GPU型号

请确保你已经安装了适当的驱动程序和工具,以便正常运行这些命令。这会显示NVIDIA GPU的详细信息,包括型号和驱动版本。这会列出所有的显示适配器信息,包括GPU型号。这会显示更详细的硬件信息,包括GPU型号。

2024-02-22 08:46:09 825

原创 git rm --cached

是一个 Git 命令,用于从 Git 跟踪中删除文件,但保留在工作目录中。这个命令将文件从 Git 的索引(也称为缓存)中移除,但不会从物理磁盘中删除该文件。只会影响 Git 跟踪,不会从工作目录中删除文件。如果要彻底删除文件,可以使用。执行以上命令后,Git 将不再跟踪 myfile.txt 文件的更改。希望以上解释能够帮助到您。如果您有任何其他问题,请随时提问。命令,或者手动删除文件。

2024-01-30 20:40:53 1554

原创 时间函数 localtime localtime_r

localtime 不可重入是由于 static struct tm 是库中的一个静态变量,如果我们在调用 localtime 时传入一个 struct tm 类型变量(指针)用于存放结果,岂不是实现可重入?调用 localtime_t 不仅需要传入指向 time_t 的一个常量指针,还需要传入指向 struct tm 的一个指针,结果将存储在 result 指向的 struct tm 对象中;时刻2:线程B调用 localtime 函数,得到一个指针,指向 static struct tm 类型变量;

2024-01-17 17:06:36 635

原创 C++ 的函数参数中使用引用作为传入参数时,不需要判断空值

需要注意的是,并不是所有的函数参数都要使用引用。如果需要在函数内部修改传入的对象,并且希望修改对原始对象的影响,可以选择使用引用作为参数传递方式。在 C++ 中,引用作为函数参数传递的时候,必须确保传入的对象是有效的。在调用这个函数时,你需要传递一个有效的对象或变量作为引用参数。如果你尝试传递一个空值(例如空指针),会导致编译错误,这是因为引用参数需要引用一个有效的对象。在 C++ 的函数参数中使用引用作为传入参数时,不需要判断空值。引用作为函数参数是为了直接操作传入的对象,而不是对传入对象进行判空。

2024-01-17 09:13:40 427

原创 DL/T634.5104-2009 实施细则

2024-01-16 19:14:59 412

原创 交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

aarch64-linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码。建议直接从 linaro 的官网下载相应版本的 gcc-linaro 交叉编译工具,并直接选择带有二进制的文件,即在官网入口处选择 binaries 路径,该文件夹下面包含各种版本的已经编译好的 aarch64-linux-gnu-gcc 二进制可执行程序。如果你在安装的过程中,出现了问题,也可以直接从官方网站下载编译好的二进制文件,直接运行,不过,得注意下载的版本要与硬件架构、系统版本相符。

2024-01-16 11:08:59 1821

转载 ARMv8-a架构简介

最初的ARMv4(ARM7系列),到最近的ARMv7(Cortex-A,-M,-R系列),都是针对功耗比较敏感的移动设备的,就性能而言,基于ARM处理器的设备,始终无法和PC相提并论。但从ARMv7开始,情况开始有些转变,ARM的市场开始扩展到移动设备之外的其它领域,这也是ARMv7划分为A(Application)、R(Real-time)和M(Microcontroller)三个系列的原因,其实质就是三个细分市场,其中的A系列,就是针对性能要求较高的应用。不过,新的问题又来了:一个新的架构?

2024-01-16 10:55:36 44

原创 Git 提交类型前缀

这些前缀可以让你更好地描述代码更改的类型,使提交历史更易于阅读和理解,并帮助你在团队中进行协作。Git 提交类型前缀是指在 Git 提交消息中用来描述代码更改类型的前缀。ci:与 CI (持续集成) 相关的更改,例如添加 Travis CI 配置文件、更新 GitHub Actions 等。chore:与构建过程或辅助工具相关的更改,例如更新依赖、构建脚本等。docs:文档相关的更改,例如更新文档、添加注释等。test:测试相关的更改,例如添加或更新测试用例。perf:性能优化相关的更改。

2024-01-08 08:34:54 758

原创 修改 Git 仓库的远程地址

注意:在执行这些命令之前,请确保你对新的远程地址已经拥有访问权限,并且确认地址正确无误。例如,要将远程仓库名为。

2024-01-05 18:08:10 625

原创 iec61850 控制服务 模型

【代码】iec61850 控制服务 模型。

2024-01-03 21:57:00 449

原创 IEC 61850 dsAin 和 dsDin的区别

dsDin” 是 IEC 61850 中的另一个概念,它代表了双态输入数据集(Double-bit Binary Input Data Set),通常用于描述电力系统中的双态输入信号,比如开关状态、按钮状态等。“dsAin” 是 IEC 61850 中的一个概念,它代表了模拟量输入数据集(Analog Input Data Set),通常用于描述在电力系统中测量的模拟信号,比如电压、电流等。IEC 61850 定义了一种用于实时通信和管理电力设备的通信数据模型。

2024-01-03 15:09:42 390

原创 C++ gRPC helloworld 示例代码

首先,我们需要定义服务接口。在这个例子中,我们定义了一个Greeter服务,它只包含了一个简单的SayHello方法。// 定义问候服务// 定义问候方法// 定义问候请求消息// 定义问候回复消息。

2024-01-02 13:22:51 420

原创 c++ 拷贝构造和赋值的区别

需要注意的是,拷贝构造函数和赋值运算符有一些不同之处。拷贝构造函数生成一个新对象,而赋值运算符操作已经存在的对象。另外,通常在拷贝构造函数中直接复制成员变量的值,而在赋值运算符中需要考虑已经存在的对象的状态。在C++中,拷贝构造函数和赋值运算符都用于将一个对象的值复制给另一个对象,但它们的实现方法和用途有一些区别。赋值运算符重载函数用于将一个对象的值赋给另一个已经存在的对象。拷贝构造函数用于创建一个新对象并以另一个对象的值进行初始化。中返回一个对象时,拷贝构造函数会被调用以将返回值复制给一个新的对象。

2024-01-02 09:26:18 395

转载 lib60870 - IEC 60870-5-101/104 C 源代码库用户指南(译)

lib60870 是针对客户端(主站)和服务器(从站或受控站)的 IEC 60870-5-101/104 协议的功能丰富且经过现场验证的实现。该库实现了 IEC 60870-5-101/104 规范的所有数据类型。lib60870以标准 C 实现,并与 C99 标准兼容。它被设计成尽可能易于使用。客户端/服务器 API 是严格异步的。使用非阻塞函数发送请求,并且必须在回调函数中处理响应和其他事件。CS 101 (IEC 60870-5-101) 平衡和非平衡串行模式。

2023-12-27 16:52:15 663

原创 在Linux上对固态硬盘进行分区、格式化和挂载的步骤

查找硬盘列表中的固态硬盘,它通常会以 “/dev/sdX” 的形式出现,其中 “X” 是字母(如 /dev/sda、/dev/sdb 等)。确保将 “/dev/sdX” 替换为实际的分区设备文件路径,将 “/mnt/mydrive” 替换为你选择的挂载点路径。现在,你的固态硬盘已经分区、格式化,并成功挂载到指定的挂载点上了。这里使用了 ext4 文件系统,你也可以选择其他文件系统,如 ext3、NTFS 等。插入固态硬盘:将固态硬盘插入计算机的SATA或M.2接口。

2023-12-22 15:24:01 789

转载 QtWebEngine/ChromiumVersions

he Chromium version that is part of each Qt WebEngine version can be determined by:git show v5.12.0:tools/scripts/version_resolver.py | pcregrep -o1 "chromium_version *= *'(.*)'"Using function call qWebEngineChromiumVersion (since 6.2) Visiting url 'c

2023-12-14 14:43:17 88

转载 LinuxFB

【代码】LinuxFB。

2023-12-12 08:46:20 66

原创 更改 Mac 所使用网络服务的顺序

如果以多种不同的方式(例如使用 Wi-Fi 或以太网)接入互联网或网络,你可以更改连接时电脑所尝试的网络连接顺序。你不能更改虚拟专用网络 (VPN) 连接的顺序,因为它们已经比非 VPN 连接更加优先。如果有多个活跃的连接,电脑会首先尝试列表顶部的连接,然后按降序尝试其他连接。在 Mac 上,选取苹果菜单。,然后选取“设定服务顺序”。点按右侧的操作弹出式菜单。以想要的顺序拖移设备。

2023-12-06 10:19:59 806

原创 GNOME 42 RDP Support

GNOME Release NotesGNOME’s existing remote desktop feature has been upgraded to support the RDP protocol. This offers a more secure and featureful remote desktop experience, for those wanting to remotely connect to a GNOME system.Remote desktop connections

2023-12-02 11:08:51 474

原创 /etc/environment,/etc/profile区别

是 Linux 系统中用于定义环境变量和启动脚本的两个不同的配置文件。因此,基于配置需求使用这两个文件时,要考虑其加载时机和针对性以确保环境变量和启动脚本按预期运行。

2023-11-20 17:15:51 350

原创 C/C++中,char类型到底是有符号还是无符号的

需要特别说明的一点是,无论 char 类型是被当作有符号还是无符号来处理,它与 signed char 和 unsigned char 都是不同的类型——即 char 、signed cahr 和 unsigned char 是三种不同的类型。为了确保代码的可移植性,建议在处理有符号和无符号字符时,尽量避免依赖于特定的有符号或无符号性质,并始终明确指定字符的有无符号性质来避免混淆。的有无符号性质是实现定义的,也就是说它可以是有符号的,也可以是无符号的,取决于编译器的具体实现。为了具体地了解当前编译器中。

2023-11-17 15:19:45 402

原创 git diff中出现^M符号

如果你的项目拥有独特的需求,比如需要支持旧版的 Windows 设备,可以根据实际需求进行调整。可以参考 Git 官方文档中的。这个问题通常出现在 Windows 操作系统中,并且会影响文件在不同操作系统之间的可移植性。字符是回车符的表示,在 Windows 操作系统中,每个文本行的结尾都是由回车符 (在使用 Git 进行版本控制时,有时候会遇到在文件中出现了。) 组成的,而在类 Unix 系统中只使用换行符 (选项来自动地处理回车符。可以使用以下命令来设置。为了解决这个问题,可以使用 Git 提供的。

2023-11-09 15:38:11 1098

Linux应用开发第十四章CAN编程应用开发 源码

Linux应用开发第十四章CAN编程应用开发 源码

2024-04-03

蓝牙低功耗 知识讲解

关于蓝牙低功耗的讲解,主要包括蓝牙历史,蓝牙的体系结构

2018-06-27

listen-on-ipv4-and-ipv6-interfaces.py

Receive SNMP TRAP messages with the following options: SNMPv1/SNMPv2c with SNMP community “public” over IPv4/UDP, listening at 127.0.0.1:162 over IPv6/UDP, listening at [::1]:162 print received data on stdout

2018-04-17

心电信号采集模块

心电信号采集模块的设计与开发,希望能对大家有帮助

2014-10-16

基于MP430的示波法血压计设计

基于MP430的示波法血压计设计,希望能给你一点点思路

2014-10-16

空空如也

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

TA关注的人

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