- 博客(74)
- 收藏
- 关注
原创 libssh C++封装(三)
libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。
2024-04-29 18:09:51 383
原创 Linux Makefile之优化
前面写了两篇关于Makefile的文章Linux Makefile编写之静态库和Linux Makefile编写之可执行程序.虽然编译没有问题,但还有优化的空间。
2024-04-29 16:44:10 493
原创 Linux Makefile编写之可执行程序
编译工具有很多(make/cmake/BJam)。如果不考虑跨平台的话,还是make比较方便。使用make编译需要编写Makefile。本文编写Makefile来生成C/C++可执行程序。
2024-04-26 11:32:13 949 1
原创 Linux Makefile编写之静态库
编译工具有很多(make/cmake/BJam)。如果不考虑跨平台的话,还是make比较方便。使用make编译需要编写Makefile。本文编写Makefile来生成C/C++静态库。
2024-04-25 12:03:41 285 1
原创 CPPTest实战演示(CppTest libssh)
CppTest是一个可移植、功能强大但简单的单元测试框架,用于处理C++中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式,并且可以轻松添加新的输出格式。下面编写实际测试用例,来熟练CppTest库使用。
2024-04-24 16:51:19 183 1
原创 libssh C++封装(二)
libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。
2024-04-24 16:04:51 820
原创 CPPTest实例分析(C++ Test)
CppTest是一个可移植、功能强大但简单的单元测试框架,用于处理C++中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式,并且可以轻松添加新的输出格式。下面结合实例分析下CppTest如何使用。
2024-04-23 17:03:26 1162
原创 mingw静态链接(libgcc_s_seh-1,libstdc++-6和 libwinpthread-1)
;在Windows用mingw编译的C/C++程序默认会依赖这三个动态库:- libgcc_s_seh-1.dll- libstdc++-6.dll- libwinpthread-1.dll其实可以选择链接对应版本的静态库.
2024-04-23 14:10:14 292
原创 C语言开发命令行系统
在嵌入式开发中,经常会利用命令行交互系统测试功能,本文描述使用C语言开发的一个命令行交互系统,支持命令注册,命令分组,执行命令,显示命令提示。
2024-04-22 14:47:52 397
原创 libssh C++封装(一)
libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh,您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C++封装。
2024-04-22 14:07:05 1053 1
原创 基于CppHttpLib的Httpserver
大多数嵌入式设备由于没有屏幕输出,只能通过Web页面来配置。这里利用CPPHttpLib来实现HttpServer。
2024-04-20 22:24:25 596
原创 Qt实现XYModem协议(八)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议.
2024-04-20 21:21:21 564 1
原创 Qt实现XYModem协议(七)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议
2024-04-19 10:39:22 502
原创 Qt实现XYModem协议(六)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议
2024-04-19 10:00:56 378
原创 Qt实现XYModem协议(五)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议.
2024-04-18 16:47:36 688
原创 Qt实现XYModem协议(四)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议.
2024-04-18 09:39:02 547
原创 Qt实现XYModem协议(三)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。本文利用C++实现XYModem-1K协议。
2024-04-17 14:48:31 632
原创 Qt实现XYModem协议(二)
XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。
2024-04-17 13:38:38 207
原创 Qt实现XYModem协议(一)
Kermit文件运输协议提供了一条从大型计算机下载文件到微机的途径。它已被用于进行公用数据传输。本文利用C++实现Kermit协议,并利用Qt串口类QSerialPort实现数据读写。
2024-04-15 10:52:47 1294
原创 C++多态(面向对象编程的基础)
静态多态: 重载函数和模板机制使我们编程时简化了命名和算法实现类型无关化,使代码更优雅。动态多态: 虚函数机制使我们管理相似对象更优雅,代码更简化。是面向对象编程的基础。
2024-04-12 17:00:12 136
原创 C++继承之虚继承实例
虚继承主要用在多继承场景中,单继承或只有一层继承关系时不会发挥作用。过度使用虚继承可能会增加额外的开销,因为需要维护虚基类的地址偏移量和查找虚基类成员的位置。我们可以看到虚继承不仅是一个技术手段,也是C++语言中解决多重继承问题的一个有效方法。
2024-04-11 10:43:28 689
原创 C++继承之多重继承
通过继承机制,可以利用已有的对象类型来定义新的对象类型。所定义的新的对象类型不仅仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。多重继承 派生类可以从多个父类派生。
2024-04-10 17:42:44 334
原创 C++继承之private继承
通过继承机制,可以利用已有的对象类型来定义新对象类型。所定义的新对象类型不仅仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。private继承 派生类中父类public成员变成private成员。
2024-04-10 17:03:33 475
原创 C++继承之protected继承
通过继承机制,可以利用已有的对象类型来定义新对象类型。所定义的新对象类型不仅仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。。protected继承 派生类中父类public成员变成protected成员。
2024-04-09 17:24:21 628
原创 C++继承之public继承
通过继承机制,可以利用已有的对象类型来定义新对象类型。所定义的新对象类型不仅仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。public继承 派生类中父类public成员还是public成员。
2024-04-09 17:22:01 160
原创 记一次C语言内存越界(内存越界 段错误 Segmentation fault )
最近在用C++重构原来用C写的SDK,发现一个内存越界问题,记录下来,以供后续参考。
2024-04-07 16:22:20 136
原创 C语言printf 64位数(跨平台 32位系统 64位系统)
在使用C语言开发中,使用printf打印64位变量比较常用,通常在32位系统(long long为64位)中使用%lld输出64位的变量,而在64位系统(long为64位)中则使用 %ld。如何解决跨平台问题呢?
2024-04-07 15:44:44 186
原创 gdbserver使用简介(gdb)
在嵌入式开发中,对程序调试,这时就会用到gdbserver。gdbserver与gdb需要搭配使用,gdbserver是服务端,作为服务运行在开发板上;gdb是客户端运行在主机端。本文简单讲下利用gdbserver通过网络调试开发板上程序。gdbserver其实也支持通过串口调试,本文不做描述。
2024-04-02 17:27:21 597
原创 Qt实现Kermit协议(四)
Q_OBJECTpublic:signals:protected:private:private:start 开始接收文件stop 停止传输文件cancel 中断传输文件gotFileSize 文件大小信号progressInfo 传输进度信号error 出错信号finished 传输结束信号on_init 处理开始包on_data 处理数据包on_break 处理中断包write 向串口写数据。
2024-04-02 09:18:30 380
原创 Qt实现Kermit协议(三)
该模块实现了Kermit发送文件功能。实现了三个读写接口:- write- read- getc重新实现如下接口:- on_ack- on_nack- on_error
2024-04-02 09:10:30 476
原创 Qt实现Kermit协议(二)
该模块定义和实现了Kermit协议类型。Kermit类型是纯虚类型,其派生类需要实现下面三个虚函数:- write 向串口写数据- read 从串口读数据- getc 从串口读取一个字符
2024-04-01 13:56:10 598
原创 PetaLinux使用简介
PetaLinux 工具提供在 Xilinx 处理系统上定制、构建和调配嵌入式 Linux 解决方案所需的所有组件。该解决方案旨在提升设计生产力,可与 Xilinx 硬件设计工具配合使用,以简化针对 Versal、Zynq™ UltraScale+™ MPSoC、Zynq™ 7000 SoC、和 MicroBlaze™ 的 Linux 系统开发。
2024-04-01 11:03:00 1301
原创 Qt实现Kermit协议(一)
Kermit文件运输协议提供了一条从大型计算机下载文件到微机的途径。它已被用于进行公用数据传输。其特性如下:- Kermit文件运输协议是一个半双工的通信协议。- 它支持7位ASCII字符。- 数据以可多达96字节长度的可变长度的分组形式传输。- 对每个被传送分组需要一个确认。- Kermit文件运输协议在每次会话中可以传送多个文件。本文利用C++实现Kermit协议,并利用Qt串口类QSerialPort实现数据读写。
2024-03-29 18:38:15 802
原创 PetaLinux安装详解(Xilinx , linux, zynq, zynqMP)
PetaLinux 工具提供在 Xilinx 处理系统上定制、构建和调配嵌入式 Linux 解决方案所需的所有组件。该解决方案旨在提升设计生产力,可与 Xilinx 硬件设计工具配合使用,以简化针对 Versal、Zynq™ UltraScale+™ MPSoC、Zynq™ 7000 SoC、和 MicroBlaze™ 的 Linux 系统开发。PetaLinux 工具可帮助简化基于 Linux 产品的开发;
2024-03-29 10:18:19 1210
原创 Qt开发的多窗口文件资源管理器(SFTP,SCP)
一款基于Qt开发的Windows资源管理器。功能列表:- 支持双窗口和多Tab页- 支持命令行操作。 - 支持文件夹收藏。- 支持文件浏览历史。- 支持文件搜索操作。- 支持桌面文件夹。- ssh配置加密保存。- 支持文本文件查看/编辑操作(利用MobaTextEditor).- 支持文件拖放操作,包括双窗口拖放及与其它应用拖放操作。- 类似Windows11的简介右键菜单。- 支持远程文件系统sftp及scp。- 支持压缩文件夹浏览/编辑/修改/删除等操作(利用7zip)。
2024-03-28 17:03:26 485
Qt实现的Kermit协议源码
2024-03-28
Qt实现的XModem和YModem协议源码
2024-03-28
FFMPEG C++封装库使用示例之初始化
2024-03-27
C++封装例程(class,struct,public,protected,private,friend)
2024-03-25
基于Qt5.12实现TFTP的Server和Client
2024-03-22
Qt显示桌面菜单,包括此电脑/库目录
2024-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人