- 博客(90)
- 资源 (14)
- 收藏
- 关注
转载 【Linux基础及shell脚本】for循环语句
for循环是一种控制流语句,用于在编程中重复执行一段代码。这种循环结构常常用于遍历序列(如列表或数组)或执行固定次数的迭代。
2024-04-24 18:20:34
815
转载 线程同步之条件变量:pthread_cond_signal和pthread_cond_wait
在多线程编程下,常常出现A线程要等待B线程条件完成后再继续进行,这里等待方式有两种:1.使用锁+轮询使用这种方法可以很简单的实现,但是会有一定的性能消耗,其还有一个点要好好把握,就是一次轮询没有结果后相隔多久进行下一次的轮询,间隔时间太短,消耗的CPU资源较多,间隔时间太长,不能很及时的响应请求。所以这种方法不是推荐。2.使用条件变量的线程同步(推荐)采用阻塞和消息方式可以极大程度上减少资源的浪费以及增加实时性线程条件变量pthread_cond_t线程等待某个条件int p
2021-08-10 10:47:43
2709
转载 C++ Unicode/UTF-8中文 相互转换
C++ Unicode/UTF-8中文 相互转换需求一中文 ”你好啊“ ----------unicode----------> \u4F60\u597D\u554Aunicode编码字符串转中文。例: “4F60597D554A” —> "你好啊”解决方式需求二unicode 字节数组转中文例:0x89 0x7F 0x5B 0x89 0x8D 0xEF —> 西安路解决方式需求三 中英文转unicodeasd你好阿 ----> 006.
2021-04-14 18:31:38
3154
3
转载 fontforge制作MiniGUI的 旋转字库
一. 制作TTF旋转字库1.下载fontforge,可以在Ubuntu软件中心下载2. 用该软件打开字库之后,按ctrl+a全选文字3.点击上面工具栏的基础–>变换–>如图设置需要注意的是1、需要选择字形原点,不能按选中部分的中心旋转,不然会导致汉字与数字和英文显示的高度不在同一水平线上,如果按选中部分的中心旋转,第3步换成第4步2、需要选择顺时针旋转90度,如果逆时针旋转90度的话,文字显示会由“你好”变成“好你”,并且对齐方式是向右对齐,需要做一些额外的处理3、需要
2021-04-06 10:11:43
577
原创 QT 信号槽传递自定义的结构体
头文件 mainwindow.h #include <QMainWindow>typdef struct { int a; int b;}test;Q_DECLARE_METATYPE(test) //在定义结构体之后,要调用Q_DECLARE_METATYPE,向QT声明这个结构体class MainWindow:public QMainWindow{ public: explicit MainWindow(QWidget *...
2021-02-03 15:40:13
278
原创 QT QScroller拖拽使用方法
在开发中遇到QListWidget 实现拖拽的回弹效果,拖拽的距离太大,修改拖拽的距离继承QListWidgetQScroller *scroller;QScrollerPropertiesscrPrt ;ListWidget::ListWidget(QWidget *parent) :QListWidget(parent){ scroller = QScroller::scroller(this) //创建scroller; scroller->grab...
2021-01-04 14:28:21
1742
1
原创 嵌入系统进程挂掉,拉起应用进程脚本
#!/bin/sh#./usr/bin/hs_test //应用程序名称PROC=/usr/bin/hs_testecho "========== hs_test start =========="while true; do server=`ps | grep $PROC | grep -v grep | grep -v common` #echo $server if [ ! "$server" ]; then echo "============...
2020-08-31 18:58:25
159
原创 在ubuntu下交叉编译miniGUI
一、使用到第三方库。1、zlib:zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。2、libpng:这个是用来显示png图形的,MiniGUI里很多图都是png的,如果没有这个库,MiniGUI将无法正常工作。...
2020-04-03 17:43:32
1430
转载 理解MiniGUI消息循环和窗口过程
1.2消息和消息循环在Windows系列操作系统中,广泛使用了消息驱动的概念。在MiniGUI中,我们也使用了消息驱动作为应用程序的创建构架。在消息驱动的应用程序中,计算机外设发生的事件,例如键盘键的敲击、鼠标键的按击等,都由支持系统收集,将其以事先的约定格式翻译为特定的消息。应用程序一般包含有自己的消息队列,系统将消息发送到应用程序的消息队列中。应用程序可以建立一个循环,在这个...
2020-03-05 11:02:45
780
转载 wifi模块配网解析
本文转载:https://blog.csdn.net/zhejfl/article/details/78722930智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机/云端进行数据交互.智能硬件,如智能插座,智能空调,智能空气净化器由于不具备人机交互界面,不能像电脑一样的搜索/选择指定路由器,输入连接密码的界面,所以必须先解决正确连...
2019-12-05 19:34:13
1278
转载 htonl、ntohl、htons、ntohs函数实现
typedef unsigned short int uint16;typedef unsigned long int uint32;//短整型大小端互换#defineBigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | \(((uint16)(...
2019-05-16 19:40:26
798
转载 sublime text3安装Package Control
1. 下载Sublime3https://www.sublimetext.com/32. 安装Package Control在线安装: https://packagecontrol.io/ins... 因为网络原因可能失败。离线安装:下载地址:https://github.com/wbond/pack...1.把下载好的zip包解压,重命名为Package C...
2019-04-11 16:22:39
235
原创 交叉编译SRS
1、源码下载: SRS源码下载 : git clone http://git.oschina.net/winlinvip/srs.oschina 参考文章中介绍的是这个下载路径https://github.com/ossrs/srs,但是克隆下载时度很慢更换这个源后速度很快。2、configure 在configure之前需要修改/trunk/auto...
2019-02-13 13:38:58
2202
转载 Linux core dump 使用方法
前言 一直在从事linux下后台开发,经常与core文件打交道。还记得刚开始从事linux下开发时,程序突然崩溃了,也没有任何日志。我不知所措,同事叫我看看core,我却问什么是core,怎么看。同事鄙视的眼神,我依然在目。后来学会了从core文件中分析原因,通过gdb看出程序挂再哪里,分析前后的变量,找出问题的原因。当时就觉得很神奇,core文件是怎么产生的呢?难道系统会自动产生,可是我在...
2019-01-21 15:33:04
204
转载 嵌入式设备上使用tcpdump方法
在实际应用中开发中,嵌入式设备使用网络通信时,经常不好分析数据,通常只能使用串口打印和依耐服务器端使用抓包工具获取网络数据,使开发工作有不同程度的受到阻碍,这里简单的介绍一下如何使用tcpdump工具在嵌入式设备上抓包。移植:下载资源tcpdump,libpcap,可到官网上:http://www.tcpdump.org/ 下载,我这里下载的版本如下:tcpdump-4.7.4.tar....
2019-01-11 14:10:09
703
转载 Ubuntu安装客户端RabbitVCS(svn管理)
1、安装sudo add-apt-repository,需要python-software-properties;software-properties-common 命令如下: apt-get install python-software-properties apt-get install software-properties-common2、将R...
2018-10-22 14:43:24
5180
转载 C语言无符号整型转换字符串,字符串转换无符号整型
char* UInt32toStr(unsigned int n){ char buf[10] = ""; static char str[10]=""; unsigned int i = 0; unsigned int len = 0; unsigned int temp = n < 0 ? -n: n; // temp为n的绝对值 if(n==0){ str[0]...
2018-04-23 10:58:49
9153
转载 XPath 详解及总结
本文转载:https://www.linuxidc.com/Linux/2016-12/138302.htmXPath简介XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。目前有XPath1.0和XPath2.0两个版本。其中Xpath1.0是1999年成为W3C标准,而XPath2.0标准的确立是在2007年。W3C关于XPath的英文详细...
2018-03-28 16:24:55
748
转载 SQLite C语言接口函数
sqlite3 *db是数据库连接对象,用来操作数据库打开数据库对象函数int sqlite3_open( constchar*filename,/*数据库文件名 */ sqlite3**ppDb/*创建的数据库连接对象*/);关闭数据库对象函数int sqlite3_close(sqlite3*/*打开的数据库连接对象*/);返回数据库错误
2017-12-25 11:29:50
1831
转载 Q / GDW 376.1—2009电力用户用电信息采集系统通信协议报文解析示例
1.集中器登录主站注册帧报文//该帧为集中器发送给主站的登录注册帧登录: 68 32 00 32 00 68 C9 03 44 04 00 00 02 71 00 00 01 00 88 16解析:68 //帧起始符32 00 //数据长度2字节,数据类型排列顺序为低位在前高位在后,正序数值为0x0032,转换为二进
2017-12-05 09:05:39
9906
5
转载 Linux C 单向链表2
#include #include /*节点类型结构体*/ typedef struct node_t { void* data; //节点的数据域 struct node_t *next; //节点的后继指针域 }linknode_t, *linklist_t; linklist_t CreateEmp
2017-11-22 14:53:44
338
转载 Linux C 单向链表1
线性表存储结构分为顺序存储、链式存储。 顺序存储的优点: 顺序存储的缺点: 链表就是典型的链式存储,将线性表L = (a0,a1,a2,........an-1)中个元素分布在存储器的不同存储块,成为结点(Node),通过地址或指针建立他们之间的练习,所得到的存储结构为链表结构。表中元素ai的结点形式如下:其中,结点的data域存放数据元素a
2017-11-17 11:56:41
450
转载 xml 用法解析
1. 创建XML文档(1)创建一个XML文档非常简单,其流程如下:① 用xmlNewDoc函数创建一个文档指针doc。 ② 用xmlNewNode函数创建一个节点指针root_node。 ③ 用xmlDocSetRootElement将root_node设置为doc的根结点。 ④ 给root_node添加一系列的子节点,并设置子节点的内容和属性。
2017-11-09 15:25:39
1608
转载 Qt之QLabel
本文转载:http://blog.csdn.net/liang19890820/article/details/50866096简述QLabel提供了一个文本或图像的显示,没有提供用户交互功能。一个QLabel可以包含以下任意内容类型:内容设置纯文本使用setText()设置一个QString富文本使用setT
2017-09-21 10:48:48
621
转载 Qt之QStackedWidget
本文转载:http://blog.csdn.net/liang19890820/article/details/51614346简述QStackedWidget继承自QFrame。QStackedWidget类提供了多页面切换的布局,一次只能看到一个界面。QStackedWidget可用于创建类似于QTabWidget提供的用户界面。
2017-09-11 17:25:51
380
转载 QT之exe和dll打包方法
刚开始接触Qt,发现mac平台直接release编译一下就能够直接生成.app文件,并且可以直接运行。.app位于工程文件内。同样发方法在Windows直接运行exe却出现缺失dll情况。 讲过网上查找,找到了一种比较好的封装方法,将dll与exe一起封装。记录下来以便以后备用。 需要两个程序 Process Explore(查看所需dll) 和 Enigma Virtua
2017-09-09 13:59:58
1523
转载 QT之EXE添加图标
问:要想让Qt程序的Debug和Release版本的exe都有图标,总共分几步?答:总共分三步,客官看好,千万别眨眼!第一步:在项目文件夹目录下创建文件app.rc,把从网上down下来的叫做tubiao.ico的图标也Copy进来在app.rc里面写上这么一段话:IDI_ICON1 ICON DISCARDABLE "tubiao.ico"第二步:打开Qt Creat
2017-09-09 13:58:34
313
转载 Qt之丰富的容器类---数组QVector、链表QLinkedList、映射表QMap、哈希表QHash
本文转载:http://www.cnblogs.com/newstart/archive/2013/05/09/3068625.html在C++里做大型程序时,少不了要与数组、链表等数据结构打交道。就是最简单的字符串也常常让头痛万分,Qt中有QString解决了字符串的头痛,那么其他数组等有没有更简单的解决方案呢?Qt作为一款优秀的类型库,当然不会没考虑这些。Qt提供了大量的“容器类”,专
2017-09-08 10:11:54
665
转载 QT之network
本文转载:http://blog.csdn.net/li235456789/article/details/50409872QT 使用的过程中,很多时候会与网络打交道。 比如说, 通过一个链接, 获取到一个服务器返回的数据。 1.使用QT的网络模块, 首先, 需要在.pro 文件里面添加 QT += network这样就把network 模块加进去了。
2017-09-07 20:26:10
2313
转载 QT之添加资源文件
文章转载:http://blog.csdn.net/qq_21792169/article/details/53341321 工程文件的后缀是pro,资源文件的后缀是qrc。下面往一个建好的工程中添加资源文件。假设我的工程目录在/home/home/Linux/QT/project/snake目录下面,然后在该工程目录下面创建一个img文件夹用来存放我们的资源,比如文件,图片等。
2017-09-07 15:52:58
1802
转载 Qt之FTP上传/下载
文章转载:http://blog.csdn.net/liang19890820/article/details/53188182简述为了方便网络编程,Qt 提供了 Network 模块。该模块包含了许多类,例如:QFtp - 能够更加轻松使用 FTP 协议进行网络编程。但是,从 Qt5.x 之后,Qt Network 发生了很大的变化,助手中关于此部分描述如
2017-09-07 15:07:12
451
转载 Qt之QCheckBox
本文章转载 : http://blog.csdn.net/liang19890820/article/details/50976944简述QCheckBox继承自QAbstractButton,它提供了一个带文本标签的复选框。QCheckBox(复选框)和QRadioButton(单选框)都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切
2017-09-07 13:34:28
1041
原创 QT QLineEdit背景文字提示
用setPlaceholderText()来改变背景文字 ui->lineEdit->setPlaceholderText("青岛"); ui->lineEdit_2->setPlaceholderText("山东地级市");
2017-09-07 13:02:35
18900
3
转载 Qt QTreeWidget 树形结构实现
Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类。树形效果如下图所示:这是怎么实现的呢?还有点击节点时会有相应的事件响应。1. 树形结构实现QT GUI中有treeWidget部件,将该控件在Gui中布局好,假设其对象名为treeWidget。QTreeWidget类官方文档
2017-09-05 21:16:39
398
原创 Linux终端内容太多无法全部显示
在开发程序的时候,在终端编译出现内容太多无法全部显示: 解决的方法: 1、选择终端上的选项 Edit->Profile Preferences->Scrolling->Scrollback 选择Unlimited
2017-07-03 15:35:18
21802
转载 linux UDP 局域网内广播通信服务器端和客户端
在调试局域网内通过UDP协议获取其他设备IP地址时,服务器使用UDP 广播后, 客户端设备无响应. 先研究一下正常情况下, UDP广播通信方法. 参考了网络上一写资料. 代码整理如下:服务器端向: 255.255.255.255:6023发送UDP广播:serverUDP.c#include #include #include #include #include
2017-04-20 16:15:16
345
转载 Ubuntu14.04 svn 安装 Rabbitvcs
先添加源sudo add-apt-repository ppa:rabbitvcs/ppa必要的话在源清单里面也添加一下sudo gedit /etc/apt/sources.list内容是deb http://ppa.launchpad.net/rabbitvcs/ppa/ubuntu/ raring main更新源sudo apt-get update更
2017-04-05 15:49:42
463
转载 Ubuntu14.04 安装及使用:[2]双系统安装
插好上一步做好的u盘Ubuntu安装盘。启动电脑,选择通过u盘启动。进入后选择“中文简体”,选择“安装系统”联网、不联网都可以,继续下一步。选择“其他选项”,手动创建调整分区。如下图,在空闲的磁盘上添加。点击下面的“+”。先添加boot分区,挂载点选“/boot”;再添加挂载点“/”的分区,选Ext4日志文件系统,大小超过7个G就行了;在添加个“/home”分区;最
2017-04-05 10:57:40
523
转载 Ubuntu14.04 安装及使用:[1]制作安装U盘
1、Ubuntu14.04 下载,打开Ubuntu官网,找到下载页面,选择要下载版本,单击“下载”。2、跳过上面那些乱七八糟的东西 3、单击下载“down
2017-04-05 10:56:25
547
转载 makefile 学习总结
makefile学习过程/*************************************************************************************/函数使用方法1、wildcard : 扩展通配符2、notdir : 去除路径3、patsubst :替换通配符4、foreach例子:建立一个测试目录,在测试目录下
2017-03-09 10:14:21
468
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人