
C/C++
文章平均质量分 71
爱就是恒久忍耐
纸上谈来终觉浅,绝知此事要躬行
展开
-
pthread_setname_np()在C和C++里的不同表现
探索pthread_setname_np()在C和C++里的不同表现的原因原创 2024-11-02 09:06:17 · 489 阅读 · 0 评论 -
引入正确的limits.h
引入正确的limits.h原创 2023-07-04 22:02:41 · 643 阅读 · 0 评论 -
C语言结构体的简化声明
C语言结构体的简化声明原创 2022-05-29 16:53:36 · 394 阅读 · 3 评论 -
linenoise的使用
如何使用linenoise原创 2022-05-28 12:13:27 · 1289 阅读 · 0 评论 -
GDB调试signal的处理函数
使用GDB调试signal的处理函数原创 2022-04-18 20:31:13 · 1092 阅读 · 0 评论 -
Linux定时函数timerfd的使用问题以及解决办法
使用阻塞式timerfd时遇到的问题以及解决办法原创 2021-12-09 22:38:08 · 3509 阅读 · 2 评论 -
GoogleTest入门使用(基于CMake)
本文讲述如何使用GoogleTest去测试程序原创 2021-10-02 20:41:23 · 3053 阅读 · 0 评论 -
解决C++类互相包含的一种写法
解决C++类互相包含的一种写法原创 2021-09-06 22:21:52 · 292 阅读 · 0 评论 -
学习open62541 --- [54] optional成员变量的实例化
对象类型中optional成员变量在实例化时创建出来原创 2021-08-01 12:30:45 · 1121 阅读 · 6 评论 -
C++拷贝构造函数的参数类型
C++拷贝构造函数的参数类型原创 2021-07-15 23:02:04 · 1050 阅读 · 0 评论 -
C++ 临时对象的销毁及避坑
C++ 临时对象的销毁及避坑原创 2021-07-15 22:42:27 · 1415 阅读 · 4 评论 -
C++ override关键字的避坑妙用
使用override来避坑原创 2021-06-03 22:39:58 · 2810 阅读 · 2 评论 -
学习open62541 --- [52] VisualStudio配置OpenSSL
主要讲述VisualStudio里如何使用OpenSSL原创 2021-05-31 23:10:50 · 2163 阅读 · 26 评论 -
学习open62541 --- [51] 树莓派上运行Server
编译程序并在树莓派上运行OPC UA Server原创 2021-05-30 12:59:03 · 1714 阅读 · 4 评论 -
C语言malloc分配内存的方便用法
malloc分配内存的方便用法原创 2021-05-09 18:48:09 · 1159 阅读 · 0 评论 -
学习open62541 --- [50] 自定义数据类型
自定义数据类型原创 2021-05-09 13:11:01 · 2581 阅读 · 18 评论 -
C语言操作SQLite3简明教程
C语言去操作SQLite3原创 2021-05-01 11:59:05 · 10011 阅读 · 5 评论 -
学习open62541 --- [49] 区分读写的请求者
区分读写操作的请求者原创 2021-05-01 09:54:18 · 1326 阅读 · 8 评论 -
学习open62541 --- [48] 历史数据的边界问题
探索历史数据的边界原创 2021-04-23 22:28:04 · 1176 阅读 · 1 评论 -
学习open62541 --- [47] 自定义日志
如何自定义open62541的日志输出原创 2021-04-10 14:12:49 · 1303 阅读 · 3 评论 -
学习open62541 --- [46] 集成到现有工程的办法
集成OPCUA Server到现有工程原创 2021-03-26 10:57:55 · 1705 阅读 · 4 评论 -
学习open62541 --- [45] Windows下生成证书和私匙
Windows下生成证书和私匙原创 2021-03-20 19:25:59 · 2044 阅读 · 6 评论 -
学习open62541 --- [43] 有代理(使用MQTT)的发布订阅
实现open62541向MQTT服务器发送消息原创 2021-01-22 22:19:30 · 3518 阅读 · 11 评论 -
学习open62541 --- [42] 无代理(Broker-less)的发布订阅
如何运行一个无代理的发布订阅demo原创 2021-01-17 13:05:19 · 4678 阅读 · 35 评论 -
Python解析C++头文件
使用Python解析C++头文件,robotpy-cppheaderparser原创 2020-12-25 14:05:12 · 8158 阅读 · 5 评论 -
学习open62541 --- [41] 给不同用户添加指定权限
给不同用户添加指定权限。原创 2020-12-23 21:21:12 · 2193 阅读 · 5 评论 -
学习open62541 --- [40] 源码阅读设置
open62541源码阅读设置原创 2020-12-12 15:15:43 · 1658 阅读 · 0 评论 -
Linux下Segmentation Fault的定位方法
本文主要讲述Linux下运行程序时发生Segmentation Fault的定位方法。一 准备工作首先需要做点准备工作,安装gcc和gdb打开终端,然后输入以下命令开启ulimit ulimit -c unlimited # 打开ulimit ulimit -c # 如果打开成功会返回unlimitedPS:以上开启ulimit的操作只会在当前终端下有效二 示例一个简单C程序如下,#include <stdio.h>int main(void){ int *原创 2020-12-08 21:21:08 · 5101 阅读 · 0 评论 -
学习open62541 --- [39] Client批量读写
Client批量读写多个节点原创 2020-11-23 22:23:32 · 7442 阅读 · 30 评论 -
C++11 UTF8的编解码
简单的讲,编码是指把有效信息按照指定格式变成字符串或者字节流,解码是指把字符串或字节流按照指定格式转成有效信息,要保证编解码时使用相同的格式,才能得到有效信息。也可以参考这篇文章。一 C++11提供的方法C++11 提供了std::wstring_convert和std::codecvt_utf8来编解码UTF8#include <locale>#include <codecvt>std::string utf8_encode(const std::wstring&am原创 2020-11-16 23:01:00 · 5780 阅读 · 4 评论 -
学习open62541 --- [37] 与KEPServerEX进行简单通信
主要讲述如何使用open62541的Client功能来和KEPServerEX进行简单通信。原创 2020-09-22 21:22:11 · 4487 阅读 · 10 评论 -
学习open62541 --- [36] Client异步执行method
讲述Client如何异步执行Server提供的方法原创 2020-08-23 23:12:18 · 2344 阅读 · 2 评论 -
学习open62541 --- [35] Server异步执行method
本文主要讲述Server端如何异步(async)执行method原创 2020-08-16 11:58:28 · 2056 阅读 · 3 评论 -
学习open62541 --- [34] 保持连接
如何实现Client在安全通道超时前自动重新创建安全通道,然后保持与Server的连接。原创 2020-08-13 21:29:13 · 5138 阅读 · 26 评论 -
C语言实现简单进度条
本文灵感来源于这篇文章,对其进行改进并改用C语言实现,运行环境是Debian10, Ubuntu也是一样的。代码实现#include <stdio.h>#include <string.h>#include <unistd.h>// ****************************** 配置 ***************************// 最后100%时的输出形式 const char * LastStr = "[--------原创 2020-08-12 11:00:02 · 5822 阅读 · 4 评论 -
学习open62541 --- [33] 加密(使用OpenSSL)
使用openssl进行加密原创 2020-07-12 15:33:52 · 10664 阅读 · 99 评论 -
Linux下libevent的简单使用
libevent是个高效的异步事件通知库,本文主要讲述在Linux下如何简单使用该库。一 下载本文写作时使用的版本是2.1.11,下载地址是https://github.com/libevent/libevent/releases/tag/release-2.1.11-stable本人下载的是zip文件。二 编译把第一步下载的压缩文件放到linux下。先解压,然后按照github上给的教程,在源码根目录下新建build目录,并cd进入,最后执行下面的2个命令进行编译(需要事先安装cmake原创 2020-07-01 22:53:57 · 1343 阅读 · 1 评论 -
学习open62541 --- [32] 正确获取系统时间
client和server进行通信时,有时会要求获取server的系统时间,如用来查看某一事件发生的具体时间。在之前的系列文章中获取系统时间一直用的是UA_DateTime_now(),这个API获取的时间是UTC时间,即世界协调时间,而我们身处中国,其具体时间为:中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。PS:这个8是指8小时下面首先让我们看下UTC时间的打印表现,以及如何获取正确的系统时间。一 现原创 2020-06-13 12:02:18 · 1923 阅读 · 2 评论 -
学习open62541 --- [31] 正确显示中文字符
本文主要讲述在win10下如何正确的显示中文字符。原创 2020-06-08 21:18:40 · 2323 阅读 · 2 评论 -
CRC32计算方法
最近项目中要使用crc32来计算checksum,先是使用python3的zilib库进行计算,算出的值作为参考(使用zlib.crc32()方法)。然后使用网上拷贝的C代码来算,结果算出的crc32值与zlib.crc32()算出的不相等,于是又从网上找了各种计算crc32的C代码,发现都不相等…所以,本人决定从zlib源码下手去进行探索,下面是整个过程。一 Python3计算crc32使用以下代码生成crc32作为标准值,import zlibbytesData = b"\x01\x02\原创 2020-05-28 21:29:52 · 9649 阅读 · 2 评论