Linux系统
文章平均质量分 66
skynetkang
学习旅程,脚踏实地,一路向前。
展开
-
基于Linux共享内存的数据分发DDS——C语言实现
基于共享内存的数据分发DDS——C语言实现原创 2024-04-22 01:12:31 · 616 阅读 · 0 评论 -
NVIDIA Jetson AGX Xavier多种方式交叉编译
NVIDIA Jetson AGX Xavier 多种方式进行应用程序交叉编译原创 2023-01-11 22:59:55 · 1566 阅读 · 1 评论 -
Clog——基于C语言的日志系统设计
基于linux C设计的一款日志系统,支持多进程日志输出,支持多种日志输出方式原创 2022-11-13 22:35:48 · 2657 阅读 · 2 评论 -
C++ STL汇总
C++ STL学习笔记原创 2022-07-05 09:05:17 · 697 阅读 · 0 评论 -
基于QT的文件上传和下载——支持断点续传
基于QT的支持断点续传的文件上传和下载。原创 2022-07-04 19:41:12 · 3105 阅读 · 3 评论 -
zynq7000 三种方式 编译驱动
zynq 驱动编译学习《领航者ZYNQ之嵌入式linux开发指南》有三种编译方式利用linux内核源码进行模块编译静态编译,使驱动编译进linux内核镜像中利用petalinux工具进行模块编译,最终编译好的模块存放在根文件系统中模块编译编写设备驱动c文件 chrdevbase.c#include <linux/types.h>#include <linux/kernel.h>#include <linux/delay.h>#include原创 2021-11-03 20:37:16 · 1596 阅读 · 0 评论 -
zynq7000 传统方式制作系统镜像
zynq7000 传统方式制作系统镜像传统方式制作系统镜像,主要是以下几个步骤:配置zynq芯片ubootkerneldevice-treerootfs打包制作BOOT.BIN和image.ub环境配置系统centos7安装xilinx的vivado、SDK软件安装**gcc make g++**等基本编译环境从xilinx的github上下载交叉编译工具gcc-arm-linux-gnueabi配置交叉编译工具,建立compile.sh脚本#!/bin/shcur原创 2021-11-03 16:00:52 · 1834 阅读 · 0 评论 -
基于epoll的多线程网络服务程序设计——C语言
基于epoll的多线程网络服务程序设计——C语言 采用C语言设计了一个基于epoll的多线程网络服务程序。每个线程都有一个epoll来捕获处于这个线程的socket事件。当子线程数量为0,即只有一个线程,则网络监听服务与socket消息处理处于同一个epoll。当子线程数量大于0时,主线程监听socket连接,当有新的连接到来时将其加入到活跃socket数量最小的子线程的epoll中。server.h#ifndef EPOLL_C_SERVER_H#define EPOLL_C_SE原创 2021-10-25 17:23:01 · 1019 阅读 · 0 评论 -
petalinux 制作linux系统镜像(zynq7000)
petalinux 制作linux系统镜像(zynq7000)学习《领航者ZYNQ之Linux驱动开发指南》petalinux工具制作系统镜像1、petalinux安装参考xilinx的官方文档《c_ug1144-petalinux-tools-reference-guide.pdf》2、用vivado软件生成hdf文件和bitstream文件3、初始化petalinuxsource /home/tools/petalinux/settings.sh#初始化petalinux工具,执行p原创 2021-10-09 14:17:41 · 1329 阅读 · 0 评论 -
全字符串转数字
全字符串转数字说明全字符串可以是八进制、十六进制或十进制数字字符串,带符号。但是只要字符串中有不符合数字的字符就转换失败。如十六进制有超过f的字符,八进制有超过9的字符等,不进行截断转换,全部转换。代码#include <stdio.h>#include <math.h>#include <string.h>/*完整的字符串转十进制数字完整的字符串可以使十进制、八进制、十六进制数字*/int entire_str_to_num(cha原创 2021-10-09 09:43:42 · 198 阅读 · 0 评论 -
对象的消息总线——C++11
对象的消息总线——C++11学习《深入应用C++11 代码优化与工程级应用》什么是消息总线对象之间的关系一般有:依赖、关联、聚合、组合和继承。在大规模的软件开发过程中,对象很多,关联关系非常复杂,如果没有统一的、简洁的方法去管理这些对象关系,会导致对象关系复杂,后期维护困难。基于消息总线技术可以解决这些问题。对象之间只通过消息联系,不是通过直接的依赖或者关联。在消息总线中,对象是通过消息来联系,消息即是对象的关系,只需要在消息总线中管理这些消息,不用关心具体哪些对象之间有关联,便于统一原创 2021-09-28 15:54:26 · 473 阅读 · 1 评论 -
linux进程间通信学习
linux进程间通信学习管道通信匿名管道匿名管道称为半双工管道,特点如下:数据只能由一个进程流向另一个进程,如果要进行双工通信,则需要建立两个管道。管道只能用于父子进程或者兄弟进程间通信。管道创建函数#include <unistd.h>int pipe(int fd[2]);//fd[0] 读管道 fd[1] 写管道,一般的文件I/O函数都可以用于管道,如close、read、write父子进程通过管道通信测试例子#include <unistd.h原创 2021-09-14 14:36:47 · 174 阅读 · 0 评论 -
基于QT的tcp server设计
基于Qt,设计了一个tcp server,主要用到:QTcpServer QTcpSocket QThreadUML 类图:TcpServer构造函数:TcpServer(QString t_server_name,quint32 t_thread_cout,msgHandle t_func=nullptr,QObject *parent = nullptr);t_server_name:服务名字 t_thread_cout:支持处理socket的子线程个数 t_func:消原创 2021-07-04 14:58:19 · 1447 阅读 · 0 评论 -
C++11——多线程开发
C++11之前,语言本身没有对并发编程提供语言级别支持,在移植时存在诸多不便C++11增加了线程以及线程相关的类,支持并发编程线程的创建 std::thread只需要提供线程函数或者函数对象即可,并且可以同时指定线程函数的参数...原创 2021-02-19 16:25:20 · 408 阅读 · 0 评论 -
C++11——可变参数模板
在C++11之前,类模板和函数模板只能包含固定数量的模板参数。在C++11之中,类模板和函数 模板允许模板定义中包含0到任意个模板参数。声明可变参数模板时需要在typename或class后面带上省略号"...",省略号的作用:1、声明一个参数包,包含0到任意个参数2、在模板定义的右边,可以将参数包展开成一个个独立的参数可变参数模板函数可变参数模板函数的定义如下:template<class... T>void f(T... args){ cout.原创 2021-02-18 16:28:46 · 1665 阅读 · 0 评论 -
C语言实现简单log日志记录功能
实现log日志记录功能,一种宏定义形式实现,一种函数形式实现。记录于此。#include <stdio.h>#include <stdlib.h>#include <time.h>#include <stdarg.h>enum {ERROR,WARNING,INFO,DEBUG};//宏定义形式#define LogRecord(_error_level,_fmt,_X...) \ do { \ time_t.原创 2020-08-18 12:35:24 · 6361 阅读 · 2 评论 -
Qt序列化数据
可以利用QDataStream来序列化以及反序列化数据。方便我们进行数据传输。Qt提供的QDataStream可以序列化一些数据,如下:bool, float, double, const char *qint8, qint16, qint32, qint64, quint8, quint16, quint32, quint64QString, QTime, QTransform, QUrl, QVariantQBitArray, QByteArrayQBrush, QColor, QCu.原创 2020-08-15 18:25:46 · 4114 阅读 · 0 评论 -
linux C语言多文件网络传输(+MD5校验)
在linux操作系统了,写了一个C语言的网络文件传输,基于TCP/IP协议,同时加了MD5校验客户端client.c#include <stdio.h>#include <string.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <fcntl.h>#include <sys/types.h>...原创 2020-06-16 10:14:08 · 1064 阅读 · 0 评论 -
QPainter 绘制气泡对话框QWidget
QPainter简介QPainter中常用图像绘制函数 函数 功能 drawArc() 绘制圆弧 drawChord() 绘制弦 drawConvexPolygon() 绘制凸多边形 drawEllipse() 绘制椭圆 drawLine() 绘制线条 ...原创 2020-03-20 15:19:15 · 1638 阅读 · 1 评论 -
C++泛型编程——模板学习
模板模板使类和函数可在编译时定义所需处理和返回的数据类型。一个模板并非一个实实在在的类或函数,仅仅是一个类或函数的描述。模板一般分为模板函数和类模板,以所处理的数据类型的说明作为参数的类叫类模板,以所处理的数据类型的说明作为参数的函数,称为函数模板。模板的一般定义形式为:template <类型形参表> 返回类型 类名<类型名表>::成员函数名1(形参表...原创 2020-02-10 19:34:05 · 247 阅读 · 0 评论 -
TCP网络传输协议学习
网络模型七层网络模型七层网络模型说明 层数 名称 功能 传输单位 举例 7 应用层 提供应用程序间通信 程序级数据 FTP、HTTP、SMTP 6 表示层 处理数据格式、数据加密等 程序级数据 编码、URL传输 5 会话层 建立、维护和管理会话 程序级数据 session认证、...原创 2020-02-09 15:09:54 · 872 阅读 · 0 评论 -
Qt TCP网络通信学习
TCP简介:Transmission Control Protocol,传输控制协议 。用于数据传输的低层网络协议,多个物联网协议都是基于TCP协议的。它是一个面向数据流和连接的可靠传输协议。TCP头部格式:QTcpSocket类为TCP提供了一个接口,继承自QAbstractSocket。可实现POP3、SMTP、NNTP等标准的网络协议,也可以实现自定义的网络协议。异步工作,依...原创 2020-02-08 20:12:24 · 645 阅读 · 0 评论 -
基于Qt的登录框制作
学习Qt过程中制作了登录框,记录于此,便于以后开发重复利用。效果图:ui代码:<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"> <class>Login</class> <widget class="QDialog" name="Login"> &...原创 2019-12-22 21:05:05 · 332 阅读 · 0 评论 -
Qt 线程池
继承QRunnable的类,QRunnable为虚基类,需要重写run函数threadtask.h 单个任务类声明文件#ifndef THREADTASK_H#define THREADTASK_H#include <QRunnable>class ThreadTask : public QRunnable{public: ThreadTask(int...原创 2020-08-01 15:51:23 · 1345 阅读 · 0 评论 -
脚本编程学习——shell语言
原创 2019-02-24 20:37:01 · 213 阅读 · 0 评论