- 博客(207)
- 收藏
- 关注
原创 mini-httpd移植到ARM Linux及如何支持https
arm-nuvoton-linux-gnueabi-gcc是我的交叉工具链,需要提前设置一下环境变量或者你直接复制全路径。编辑mini-httpd配置文件mini-httpd.conf ,先仅支持http(文章后面讲https)(3)certfile=/etc/mini_httpd.pem //指定证书的位置。主页 https://acme.com/software/mini_httpd/将mini_httpd.pem拷贝到开发板的/etc/mini-httpd的Makefile很简单;
2024-09-08 22:51:30
1873
原创 spdlog日志库--纯头文件的
spdlog库spdlog是基于C++11实现的一款纯头文件的日志管理库(git地址:GitHub - gabime/spdlog: Fast C++ logging library.,API说明:https://spdlog.docsforge.com/v1.x/1.quickstart/):下载地址下载spdlog-1.14.1.zip版本github拷贝。
2024-08-24 20:06:21
1032
原创 rapidjson的移植
因为rapidjson是只有头文件 使用模板来实现json 所以只需要添加头文件就行 make使用-I/路径指定头文件 解压后编写makefile。
2024-08-23 22:38:47
470
原创 移植dbus遇到的坑
dbus总线主要用于进程间通讯,Linux里面是用的很成熟,但很多人没有用过可能很陌生。dbus主页https://www.freedesktop.org/
2024-08-20 21:03:14
1092
原创 给虚拟机Ubuntu扩展硬盘且不丢数据
我的samba共享目录是/root/share,我希望window能往这个文件夹下能继续加东西;2.进入ubuntu,切换root登录,必须是root全选,否则启动不了分区工具gparted。3.2 编辑/etc/fstab文件,把uuid和你想挂载的目录关联起来。问题来了, 如何把这两个分区连接起来,且不会丢失数据呢。将新的20GB创建好后,选择ext4,primary;3.1 查看新分区的uuid,待会用到;从图片看到我的新分区是是/dev/sda3。我的主目录在/并挂载到/dev/sda1。
2024-08-03 14:41:29
605
原创 C++ strftime和std::get_time对linux struct tm的作用
代码说明一切。strftime给 struct tm结构体的日期的年+1900,月份+1,并按格式转成字符串std::get_time则对字符串获取struct tm结构体,年份-1900,月份-1代码如下:#include <iostream>#include <stdio.h>#include <time.h>#include &l...
2018-10-18 20:39:48
3007
原创 linux tail命令监控日志神器
直接说重点,监控的日志文件名为filename,cd到他所在位置下,执行tail -n 100 filename -f可以监控日志的动态变化。-n显示最后的多少行,-f 用于监视文件增长,没有-f,看不到日志动态新增。tail命令懂得这两个参数就够了。 ...
2018-10-15 20:45:12
1561
1
原创 给snprintf函数弄个动态的格式串
先上代码:#include <stdio.h>int main(){ char chBuf[40] = {0}; char chParam[24] = {0}; snprintf(chParam, sizeof(chParam), "%%0%dd",4); snprintf(chBuf , sizeof(chBuf), chParam, 6); printf("---...
2018-03-26 23:37:44
652
转载 每天一个linux命令(37):date命令
每天一个linux命令(37):date命令在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。1.命令格式: date [参数]... [+格式]2.命令功能:date 可以用来显示或设定系统的日期与时间。3.命令
2018-02-27 23:08:51
333
原创 Linux使用带时区转换的时间函数注意事项(负负得正)
linux时间结构体定义:struct tm{ int tm_sec; //代表目前秒数,正常范围为0-59,但允许至61秒 int tm_min; // 代表目前分数,范围0-59 int tm_hour; //从午夜算起的时数,范围为0-23 int tm_mday; //目前月份的日数,范围01-31
2018-02-27 22:46:12
3297
1
转载 DLMS电能表通讯协仪
本文是对于IEC62056协议族,即DLMS协议族的中文说明手册。本文并没有包含DLMS协议族的全部,但解释了在应用中可能出现的大多数情况。本文的目的是为电能量数据采集终端提供与使用DLMS协议族的电能表通讯的协议说明。 本文参考文献如下: (1)DLMS User Association , COSEM Identification System andI
2017-11-23 23:08:44
14962
原创 C++11实现生产者和消费者
#include #include #include #include #include #include #include class CThreadMsg{private: std::deque m_data; std::mutex m_mtx; // 全局互斥锁. std::condition_variable m_cv; // 全局条件变量. int
2017-09-06 14:22:33
933
原创 使用C++把字符串写入文件
#include <fstream> #include <iostream>#include <string>int write_string_to_file_append(const std::string & file_string, const std::string str ){ std::ofstream OsWrite(file...
2017-09-04 19:09:54
29986
9
原创 使用libvlc播放音乐,实时获取位置、播放状态、时长,播放httpURL
#include #include #include "vlc/vlc.h" #include "libvlc.h"#include "libvlc_media_player.h"#include "libvlc_media.h"#include "log_c.h"#include "VlcMusicPlayer.h"#define url_temp "/share/mus
2017-09-03 22:48:23
7098
2
原创 ubuntu安装vlc
sudo apt-get install libvlc-devsudo apt-get install vlc##重装sudo apt-get install --reinstall vlc##重装sudo apt-get install --reinstall vlc-noxsudo /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugi
2017-09-02 22:35:57
2063
原创 使用libvlc简单的播放一首本地音乐文件
#include #include #include "vlc/vlc.h" #include "libvlc.h"#include "libvlc_media_player.h"#include "log_c.h"//#define url_temp "/share/music/20Hz-stero.wav"#define url_temp "/share/music/1
2017-09-02 22:30:47
2973
1
原创 C++11 thread编程调用类方法并传入参数
#include #include class classA{public : classA() { std::cout<<" classA " <<std::endl; } void func(int a, const char *pchText) { std::cout<<" func " <<std::endl; m_a = a;
2017-08-31 10:21:12
5022
转载 linux 端口号分配
端口号分配TCP和UDP采用16b的端口号来识别应用程序。那么这些端口号是如何选择的呢?服务器一般都是通过知名端口号来识别的。例如,对于TCP/IP实现来说,每个FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(普通文件传输协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1 023之间的端口号。这些知名端口号由
2017-08-27 17:06:37
8744
转载 使用cJSON解析JSON字符串
JSON学习-使用cJSON解析 使用cJSON解析JSON字符串 一、为何选择cJSON 我们在使用JSON格式时,如果只是处理简单的协议,可以依据JSON格式,通过对字符串的操作来进行解析与创建。然而随着协议逐渐复杂起来,经常会遇到一些未考虑周全的地方,需要进一步的完善解析方法,此时,使用比较完善的JSON解析库的需求就提出来了。
2017-08-25 06:06:48
5099
1
原创 使用select实现多线程定时器
#include #include #include #include #include #include #include #include int set_timer_s(long u32Time){ struct timeval stuTime; int ret = 0; memset(&stuTime, 0, sizeof(struct
2017-08-20 19:21:08
4013
原创 C++ STL list的初始化、添加、遍历、插入、删除、查找、排序、释放
list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上STL的list容器的头文件:#include;list属于std命名域的内容,因此需要通过命名限定:using std::list;也可以直接使用全局的命名空间方式:using nam
2017-08-20 14:31:28
164729
5
转载 结构体中运算符的重载
C++中,结构体是无法进行==,>,=,比如二分查找,binary_crearch只能对数组进行查找,如果是结构体数组的话,它会报错。但很可惜,实际编程中,大部分时候操作对象是结构体数组。二分查找结构体数组的程序如下:[cpp] view plain copy#include #include #include
2017-08-20 14:12:08
7650
转载 linux运行级别
也许大家偶然会发现/sbin里有个init命令。你知道它是如何使用的吗? 如果你不喜欢使用图形登录方式,如何能够让用户在控制台下运行startx命令呢? 有时你要维护服务器,暂时不希望别的用户登录系统,但自己仍对网络有访问权,又该怎么办呢? 其实,如果你知道了三个问题之间的关系,它们就不成问题了。让我们这里入手了解一下Linux的运行级别(runlevel)吧! 其实ini
2017-08-19 20:23:29
393
原创 linux开机启动自动执行某个脚本
有时候我们需要在开机的拉起一个服务或进程。比较方便的改法是在文件/etc/rc.local,编辑这个文件,在末尾添加source 脚本名称.sh脚本run_httpd_server.sh的内容#!/bin/bashexport BASE_DIR=$(pwd)echo ${BASE_DIR}cd /share/http/apache2.2.32-install/
2017-08-19 20:18:54
28553
原创 HTTP POST方法的学习
在POST方法下,CGI程序可以直接从服务器的标准输入中获取数据,不过要先从CONTENT_LENGTH这个环境变量中得到POST参数的长度,然后再读取相应长度的内容。先弄个post.html,并放到htdocs目录下。CGI POSTMethod:POOSTPlease input two number:*=代码如下:#inclu
2017-08-19 13:56:25
1857
原创 HTTP GET参数的获取
REQUEST_METHOD的值一般包括POST和GET两种GET参数的获取在GET方法下,CGI程序无法直接从服务器的标准输入中获取数据,因为服务器把从标准输入接收到的数据编码到环境变量QUERY_STRING(或PATH_INFO),采用GET方法时,只需把这些数据附加到URL的末尾,如http://192.168.1.211:8080/cgi-bin/222?s=1&b=3&u=0,
2017-08-17 21:36:25
3078
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人