摘要:
借着curl 7.75.0版本更新, 最近又下载下来玩了玩, 在此做个简单记录 1.环境搭建 首先是libcurl动态库, 自己下载源码编译的话如果要使用https协议还要下载OpenSSL和libssh的源码一起编译, 我嫌麻烦, 所以直接官网下载的官方编译好的动态库 linux一般自带的有或者直 阅读全文
摘要:
直接上代码, 函数里没有对字节流缓冲区的长度进行安全判断, 使用前要保证不会出现越界的情况 为了方便调试, 加了写入buffer前的格式化输出, 实际使用中可以注释掉 1 #define ASCII_ZERO 48 2 #define ASCII_SPACE 32 3 #define ASCII_X 阅读全文
摘要:
直接上代码 所需头文件 : <string>, <stdio.h>, <stdint.h> 1 std::string ByteStream2String(const uint8_t *pByteStream, size_t iStreamLen) 2 { 3 std::string sRet = 阅读全文
摘要:
最近写了个存储过程用于转储数据到历史表, 做个简单的记录 业务场景 : 有一张原表, 表结构包含主键自增id, 可重复设备号, 设备信息入库时间以及若干设备信息字段. 现要求根据设备入库时间降序, 在原表中保留500个不同设备号的记录, 其余设备信息按入库时间存入以年为单位的历史表中 存储过程实现 阅读全文
摘要:
最近看了很多有关字符编码的讨论帖子, 自己也做了很多尝试, 针对linux和windows上字符编码的选择做了个简单整理, 在此做个记录 首先是基础编码知识, 下面我列出的4个编码方式或字符集是我们应该了解的 1. ANSI 2. UNICODE 3. UTF8 4. GB2312 这里因为个人专业 阅读全文
摘要:
最近在linux上跑一些开源库做学习用, 顺手就搭了一下vscode的c++开发环境, 这里分享一下vscode进行C++开发的基本环境结构. 1. 首先是编辑器, vscode直接官网下载的, 后期可以用 apt 直接更新, 个人觉得还是挺方便的, 有喜欢折腾的小伙伴可以去github上拉开源版本 阅读全文
摘要:
随手实现, 直接上代码, 如有错误疏漏欢迎指正 1 //折半插入排序 : 时间复杂度为n^2 2 void binary_insert_sort(std::vector<size_t> &arr) 3 { 4 for (size_t idx = 0; idx < arr.size(); ++idx) 阅读全文
摘要:
做个简单记录, 如有疏漏, 欢迎指正 第一种是时间复杂度为 2^n 的递归实现 1 size_t rec_fibonacci(int idx) 2 { 3 if (0 >= idx) return 0; 4 if (2 >= idx) return idx; 5 6 return (rec_fibo 阅读全文
摘要:
最近帮着同事搞了一下嵌入式的gtk界面, 中间有用到系统signal来进行进程通讯, 做个简单的记录 在使用linux系统信号之前需要先了解一下信号基础知识, 这里给出一个参考博文, 讲的很仔细 : https://www.cnblogs.com/taobataoma/archive/2007/08 阅读全文
摘要:
windows中可以通过Event进行跨进程的通讯, 只要在创建事件时, 事件名相同, 就会得到同一个事件的句柄, 以此为基础可以进行跨进程通讯 先看一下msdn上的定义和解释(下面我大概翻译了一下, 具体内容参阅 : https://docs.microsoft.com/en-us/windows 阅读全文