0%

树莓派远程桌面

最近项目中要使用树莓派,以前自己玩过树莓派,但没做记录,此次趁着项目把使用过程中的问题做个详细的记录

  • 远程桌面
    只需要在 raspbian 下面安装一个服务 xdrp 即可。输入如下命令安装:
    sudo apt-get install xrdp
    然后就 Ok 了
阅读全文 »

本文总结了C++编程中的一些核心基础知识点,包括面向对象的三大特性(封装、继承、多态),内存管理中的堆与栈的区别,malloc/new的差异,以及程序加载时的内存区域划分。这些是C++开发者必须掌握的基础概念,对于理解C++的内存管理和面向对象编程至关重要。

阅读全文 »

1. 编译器移植

公司使用的是飞凌的开发板做的项目. 在使用飞凌开发移植过程中,升级了飞凌自带的 gcc 编译器,飞凌自带的 gcc 版本是 4.5 的。因为使用了 poco 开源库,poco 在使用低版本 gcc 编译的时候,xml 编译不过,只能升级 gcc 的版本,但升级成高版本 gcc 后,程序移植到开发板无法运行,提示找不到文件或者目录。
通过在网上查询和向别人请教,知道了飞凌早期的开发板是软浮点模式,通过查询 gcc 软浮点和硬浮点了解到交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别。
自己的理解为软浮点和硬浮点都是支持浮点运算的,编译后面带 hf 是支持硬件浮点运算,不带 hf 是支持软件浮点运算,这里贴上一篇博文方便自己查找,[[编译器区别]][1]
最后将编译成支持软浮点版本的 gcc 4.8 版本后,重新编译,移植到板子上成功运行。

阅读全文 »

BOA 服务器介绍

BOA 是一个单任务的小型 HTTP 服务器,源代码开放,支持认证,CGI 等功能,性能优越,适合在嵌入式系统中。

BOA 服务器搭建

源码

源码链接:BOA 源码

源码安装

下载完成后在 linux 下直接解压
tar -xvf boa-0.94.13.tar.gz

环境搭建

首先需要安装两个解析工具
sudo apt-get install bison
sudo apt-get install flex

阅读全文 »

原因

今天在重做 QMessageBox 样式的时候,需要给 QMessageBox 样式加个阴影,因为重做的 MessageBox 是用 QDialog 做的,加阴影的方法是在这个 QDialog 后面做又重做了个窗体,让后面的窗体进行偏移,显示出阴影效果,后面的窗体是用 QWidget 做的,QWidget 只有 show 方法,无法做到阻塞和取返回值,所以重写了 QDialog 的 exec () 函数,下面贴出主要代码。

阅读全文 »

javascript 截取字符串

JavaScript 语法中 string 字符串,同样和 java 一样,有一个截取字符串的方法,如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
参考代码如下:
获取字符串第二个字符:
var str = "Hello World";
// H
alert(str.substr(0, 1));

// d
alert(str.substr(-1));
//Hello
alert(str.substr(0,4));

获取字符串最后一个字符:
var str = "Hello World";
// H
alert(str.charAt(0));
// d
alert(str.charAt(str.length - 1));

相关版本

  • macos 10.15.7
  • boost 1.76.0
  • Homebrew 3.2.9
    boost 库是使用 brew 安装的最新版本

编译时问题

在使用 cmake 编译工程的时候,使用的是静态库链接,然后 regex 库无法进行链接,动态库是可以的。cmake 文件如下

阅读全文 »

队列的概念

队列(Queue): 是一种先进先出(first in first out,简称 FIFO)的线性表,只允许在一端插入,在另一端删除。
在工作中使用使用环形 buff 来接收串口数据能够防止数据丢失和对数据进行正确的校验

  • 常见的两种队列的形式:普通队列和环形队列
    普通队列
阅读全文 »