合集-C语言/C++

摘要:为了确保数据按照4位大小端(即32位整数)进行转换,我们需要在将数据写入文件之前,对每个32位整数进行大小端转换。具体来说,如果原始数据是以大端序(Big Endian)存储的,而目标系统是小端序(Little Endian),或者反之,则需要进行大小端转换。 以下是一个示例代码,展示了如何在将数据 阅读全文
posted @ 2025-03-17 10:33 Ryan9399 阅读(401) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2025-02-26 16:20 Ryan9399 阅读(2) 评论(0) 推荐(0)
摘要:提供一个纯C语言的图像压缩程序,但是要达到将6MB的图片压缩到100KB以内的要求,有损压缩肯定是必须的。同时,要在速度上有所提升,我可以为您提供一个基于多线程的图像压缩程序。 首先,我们需要了解一下图像压缩的原理。常见的图像压缩算法主要有两种:无损压缩和有损压缩。无损压缩算法能够保证原始图像的质量 阅读全文
posted @ 2025-02-25 09:49 Ryan9399 阅读(448) 评论(0) 推荐(0)
摘要:数据十六进制打印输出: 点击查看代码 void writeHexToFile(const unsigned char *buffer, int length) { for (int i = 0; i < length; ++i) { xil_printf("%02X ", buffer[i]); } 阅读全文
posted @ 2025-02-21 10:02 Ryan9399 阅读(326) 评论(0) 推荐(0)
摘要:字符串值相加校验 第一种方式: 点击查看代码 uint8_t checksum = calculate_checksum(&packageHeadSendTh); // 计算校验和的函数 uint8_t calculate_checksum(struct PackageHeaderSendTh *h 阅读全文
posted @ 2025-02-21 10:01 Ryan9399 阅读(287) 评论(0) 推荐(0)
摘要:点击查看代码 ///////////////////////////////////////////// CC = g++ CFLAGS=-Wall -O2 TARGET = main SRCS := $(wildcard *.cpp) OBJS := $(patsubst %cpp, %o, $( 阅读全文
posted @ 2025-02-17 10:48 Ryan9399 阅读(286) 评论(0) 推荐(0)
摘要:【C++】开源:ImGui图形用户界面库配置与使用项目介绍 项目Github地址:https://github.com/ocornut/imgui Dear ImGui (ImGui) 是一个开源的、用 C++ 编写的图形用户界面(GUI)库。它由OCornut创建,旨在为应用程序和工具提供创建用户界面的简单高效的方式。 以下是 Dear ImGu 阅读全文
posted @ 2025-01-16 14:46 Ryan9399 阅读(1376) 评论(0) 推荐(0)
摘要:UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,适用于对实时性有较高要求的应用场景,如视频流传输、语音通信、在线游戏等。与TCP不同,UDP不保证数据的可靠性和顺序性,但其传输速度较快。 本文将介绍如何使用C语言编写一个简单的UDP服务器程序,以及如何 阅读全文
posted @ 2025-01-16 16:06 Ryan9399 阅读(703) 评论(2) 推荐(0)
摘要:引言 在C++中,当两个或更多的线程需要访问共享数据时,就会出现线程安全问题。这是因为,如果没有适当的同步机制,一个线程可能在另一个线程还没有完成对数据的修改就开始访问数据,这将导致数据的不一致性和程序的不可预测性。为了解决这个问题,C++提供了多种线程同步和互斥的机制。 互斥量(Mutex) 互斥 阅读全文
posted @ 2025-01-16 16:12 Ryan9399 阅读(199) 评论(0) 推荐(0)
摘要:JsonCpp 是一个C++库,用于解析和生成JSON数据。它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式。 安装Jsoncpp 我们可以输入以下命令安装jsoncpp库。 sudo yum install -y jsoncpp-devel 安装时默认安装动态库。头 阅读全文
posted @ 2025-01-16 16:13 Ryan9399 阅读(273) 评论(0) 推荐(0)
摘要:对于Framework工程师来说,必要C或者C++编程能力是必须的,像对设备节点的操作是最基本的操作,那么我们便会用到open和read函数。open()函数用于打开文件,而read()函数用于从打开的文件中读取数据。 open() 函数 open()函数是C/C++标准库中的一个POSIX标准函数 阅读全文
posted @ 2025-01-16 16:15 Ryan9399 阅读(307) 评论(0) 推荐(0)
摘要:在C++中,规定空类(即类中没有任何数据成员、成员函数、虚函数等成员的类)的大小为1字节,这背后主要有以下几方面的原因: 保证对象的唯一性和可区分性 在C++的面向对象编程模型中,对象是类的实例化结果,每个对象在内存中都需要占据一定的空间,以便程序能够通过地址等方式对其进行操作和区分。即使一个类是空 阅读全文
posted @ 2025-01-16 16:16 Ryan9399 阅读(167) 评论(0) 推荐(0)
摘要:点击查看代码 C++17 标准带来了 std::filesystem库, 提供了强大的工具来处理文件路径, 目录以及其他与文件系统相关的操作. 这篇文章适合 C++ 初学者以及希望掌握 C++17 新特性的开发者, 旨在帮助他们高效地完成文件系统相关任务. 什么是 std::filesystem? 阅读全文
posted @ 2025-01-16 16:18 Ryan9399 阅读(404) 评论(0) 推荐(0)
摘要:C语言格式输出 1.转换字符说明 C语言格式输出方式 2.常用的打印格式 在 C 语言中,格式输出主要依靠 printf 函数来实现。 以下是一些 C 语言格式输出的代码举例及相关说明: printf("%2d",123),因为输出的部分有三位数,但是要求的有两位,所以原样输出为:123;print 阅读全文
posted @ 2025-01-16 16:20 Ryan9399 阅读(130) 评论(0) 推荐(0)
摘要:在 C 语言中,线程池通常通过 pthread 库来实现。以下是一个详细的说明,介绍了 C 语言线程池的常见实现方式,包括核心概念、实现步骤和具体的代码示例。 点击查看代码 1. 线程池的基本结构 线程池的核心概念是有一个固定数量的线程等待执行任务。任务通常通过任务队列传递,线程从队列中取出任务并执 阅读全文
posted @ 2025-01-16 16:31 Ryan9399 阅读(162) 评论(0) 推荐(0)
摘要:点击查看代码 实现简单的Socket通信 服务端代码(Server) #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") #define PORT 9999 int main() { WSADATA W 阅读全文
posted @ 2025-01-22 11:46 Ryan9399 阅读(59) 评论(0) 推荐(0)
摘要:TCP实现 传输控制协议(TCP,Transmission Control Protocol) 是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 阅读全文
posted @ 2025-02-13 10:36 Ryan9399 阅读(545) 评论(0) 推荐(0)