- 博客(19)
- 资源 (18)
- 收藏
- 关注
原创 基于GDBus技术的IPC通信编程详解(1)
在搭建嵌入式Linux应用软件系统框架时,常常会将其划分为好几个模块,每个模块之间的通信方式多数时候都会用到d-bus技术。目前基于d-bus技术的几种编程框架有:glib-dbus,GDbus,QtDbus,dbus-python。这5种编程框架的复杂度有高有低,最简单的应该非QtDbus莫属了,最复杂的过程要属glib-dbus。鉴于我对GDBus的熟悉程度,这里只介绍GDBu...
2018-05-03 14:41:45 15227 5
原创 基于GDBus技术的IPC通信编程详解(2)
时隔多年,作为2020年的开篇,终于迎来了“基于GDBus技术的IPC通信编程详解(1)”续集——基于GDBus技术的IPC通信编程详解(2)!第一篇谈到了基于gdbus的IPC的协议接口文档。根据这段时间来的项目经验总结,我们可以定义一个完全通用的协议接口文档。内容如下:<?xml version="1.0" encoding="UTF-8" ?><node nam...
2020-01-02 15:31:19 2380 7
原创 一个使用C++写的通用的观察者模式的类-CObserver——基于单例模板类
废话少说,直接上代码。释义的话,各位看官可自行百度。这个观察者模式的本质,就是将所有观察者对象放进一个list中,发送给观察者的消息,统一使用NOTIFY_OBSERVER 发给他们。下面就是代码:#ifndef OBSERVER_H#define OBSERVER_H#include <list>#include "singletonbase.h"using name...
2019-09-22 20:29:57 347 1
原创 如何使用本作者提供的单例模板类,来实例化单例类?有如何使用这个单例类获取单例对象?
作者在这篇文章中,提供了一个通用的单例模板类。链接:一个通用的单例模板类那么,如何使用这个模板实例化自己的单例类呢?下面是参考代码(假设这个模板类的头文件为 singletonbase.h):#ifndef TEST_SINGLETON_H#define TEST_SINGLETON_H#include "singletonbase.h"class CTestSingleton...
2019-09-22 20:18:05 191
原创 一个通用的 singleton template class
#ifndef SINGLETONBASE_H#define SINGLETONBASE_H#ifndef NULL#define NULL (0)#endiftemplate <typename T>class CSingletonBase{public: __inline static T* GetInstance() { r...
2019-09-22 20:05:45 302 1
原创 QT对象释放顺序引起的报错问题
最近在做项目时,遇到一个奇怪的问题——QT对象释放的顺序不对的话,会引起崩溃。具体是这样的:1、先定义两个QT类(Class1、Class2),下面是头文件:#include <QObject>class Class1 : public QObject{ Q_OBJECTpublic: explicit Class1(QObject *parent =...
2018-12-14 17:38:49 707
原创 C与Lua交互——在C和Lua之间相互传递数据
C与Lua交互 ——在C和Lua之间相互传递数据,并以此操作SQlite3数据库 使用Lua来操作Sqlite3数据库的过程,相比直接在C/C++下操作,简单得多。在嵌入式开发过程中,使用Sqlite3来管理系统中的大量数据,是一种非常成熟的做法;将Lua 和Sqlite3结合起来的开源技术Lua Sqlite3,就显得非常适合快...
2018-06-12 11:32:47 7413
原创 将lua sqlite3移植到arm平台
在ubuntu下安装lua sqlite3非常方便,只需安装luarock 工具后,按照说明即可安装。lua sqlite3的源码在这里可以下载(点击打开链接)。截至日前,最新版本为0.9.4。 安装lua sqlite3的前提是得先安装sqlite3.以生成libsqlite3. 但是在嵌入式平台下,如果使用luarock工具来安装lua sq...
2018-05-28 18:07:45 773
原创 将lua-5.3.4移植到arm平台
在开发嵌入式项目时,由于嵌入式平台没有lua环境,只能自己移植。先到官网上下载最新的lua源码(点击打开链接)。接下来按照下面步骤:1、修改src/Makefile文件内容:源码包中的原始的Makefile的部分需要更改的内容如下:# Your platform. See PLATS for possible values.PLAT= noneCC= gcc -std=gnu99...
2018-05-28 17:23:22 1810 3
转载 【转】如何高效率的使用DBUS作client/server架构——GArray
本文是转载下面链接的文章:【https://blog.csdn.net/cuijpus/article/details/1922658】点击打开链接在嵌入式系统中使用dbus主要有两个方面的用途:1:进程间通信2:实现client/server模式;2也是1的具体表现形式;包括dbus自带的例子,都是采用dbus对数据的封装,实现client/server模式的,缺点有二:1 一个API要定义一个...
2018-04-26 17:33:49 867
原创 windows下libuv-1.x的编译
为了在windows下编译libuv,百度出来一篇文章,链接如下:https://blog.csdn.net/longji/article/details/53954827按照这篇文章提供的方法,要安装python 2.7以上版本,要安装gyp工具。按照网上给出办法,安装好了python,然后在编译安装gyp时,出现下面的错误,没有解决办法:然后在查看libuv的源码文件内容时,无意间看到这个文件...
2018-04-26 15:11:55 860
转载 C# Excel 行高,列宽,合并单元格,单元格边框线,冻结(转载) - 关于C#操作EXCLE常见操作比较全的
网上看到的比较全的关于C#操作EXCEL常见操作集合,比较全,写的不错原文地址:http://hi.baidu.com/kjkj911/blog/item/0ecc3ec7855dd6d4d100600f.htmlprivate _Workbook _workBook = null;private Worksheet _workSheet = null;private Ex
2018-04-10 18:35:29 225
原创 Telechips平台的WinCE下的wave驱动报错的原因
最近公司有个项目使用的百度Carlife语音识别出现wavedev.dll报错问题。根据经验,这种报错问题,一般都是指针越界或者stack over flow等错误。 于是根据wavedev.map文件定位到了midiNote.cpp的函数NoteOn中的数组PitchTable。可仔细分析这个函数以及这个数组,认为怎么都不可能导致内存越界错误——PitchTable[ Note % 12 ...
2017-07-03 14:09:06 458
原创 wince下wave驱动的调用过程
近日为了解决telechips的wince平台下百度carlife语音识别时,出现wavedev.dll报错的问题。花了两天的时间来阅读wavedev的驱动源码。得到了其调用的过程。比如app在调用waveoutOpen、waveoutWrite等函数时,驱动的执行路径如下:1、waveOutOpen,waveOutWrite--->WAV_IOControl(IOCTL_WAV_MESSAG
2017-07-03 11:17:49 472
原创 自己实现的Ring模板类
闲来无事,将自己曾经写的双向循环链表源码(Ring的实现)发于此处,供今后老了,给下一代看看,呵呵。#ifndef HSW_RING_H#define HSW_RING_H#ifdef __cplusplusextern "C" {#endif#ifndef __cplusplus typedef unsigned short bool ;#endif#ifndef NULL#de
2017-03-14 15:06:44 355
原创 自己实现的stack模板类
之所以要自己实现这个类,基于如下两点原因: 1、C++标准库里的stack模板类,实现得过于复杂,用起来也不方便; 2、为了改进文件夹遍历算法——改递归为循环。#ifndef HSW_STACK_H_#define HSW_STACK_H_/*如下模板类使用单链表实现了栈类型 zhujw 2017.3.1*/#ifndef __cplusplustypedef unsigned char
2017-03-14 15:00:31 1134
原创 采用stack实现的文件夹循环深度优先遍历的基类
一般情况下,我们在遍历文件夹时,都采用递归方式,但在wince平台下测试发现,当递归深度达到46级时,出现stack overflow而导致程序崩溃。为了解决这个问题,将递归改进为循环,这样理论上可以做到无限,只要内存一直满足的前提下。下面的代码完整展现了Windows平台(含WinCE)下,改进的文件遍历算法——循环深度优先遍历。头文件:#ifndef CFILEFINDER_H_#defin
2017-03-14 14:49:19 766
原创 利用C++模板实现队列queue
#ifndef HSW_QUEUE_H_#define HSW_QUEUE_H_/*如下模板类使用单链表实现了队列类型 zhujw 2017.3.2*/#ifndef __cplusplustypedef unsigned char bool ;#endif#ifndef NULL#define NULL (void*)0#endif#ifndef tbooltypedef char
2017-03-14 14:33:51 983
转载 WINCE6.0 远程工具,不能使用ActiveSync连接的问题
WINCE6.0 远程工具,不能使用ActiveSync连接的问题--作者:赖玉平(Auly)aulyp@163.com 现象:“VS2005->Target->Remote Tools”打开的远程工具,当选用ActiveSync作为连接方式时,会出现如下错误:“The Microsoft ActiveSync reported the following error: Una
2012-10-19 15:24:05 357
Linux-media-file-scan-class.rar
2020-01-03
GDBus-Demo的qt项目源文件
2018-05-03
libuv-1.x的vs2013工程文件源码包
2018-04-26
运用Ymodem协议的串口通讯程序示例
2017-03-14
文件夹遍历类的实现
2017-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人