随笔分类 -  C++/C

摘要:void abc(int &a) { std::cout <<"abc1:"<< a << std::endl; } void abc(int &&a) { std::cout <<"abc2:"<< a << std::endl; } int main() { abc(1); int a = 1; 阅读全文
posted @ 2022-06-21 09:51 zhaogaojian 阅读(21) 评论(0) 推荐(0) 编辑
摘要:如果结构体中有string,不能使用memcpy,不然会有double free问题,可以使用std::move #include <cstring> #include <cstdio> #include <iostream> #include <iostream> #include <tuple> 阅读全文
posted @ 2022-06-20 19:54 zhaogaojian 阅读(192) 评论(0) 推荐(0) 编辑
摘要:#include <stdlib.h> #include<stdio.h> #include <time.h> int main() { time_t nSeconds; char a[256]; time(&nSeconds); //char a='1'; //printf("%ld",nSeco 阅读全文
posted @ 2022-06-19 19:40 zhaogaojian 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一、编写项目 1、创建一个目录,新建一个test.c代码文件 2、新建一个CMakeLists.txt 3、CMakeLists.txt内容 cmake_minimum_required(VERSION 3.21) project(hello_test) AUX_SOURCE_DIRECTORY(. 阅读全文
posted @ 2022-03-26 12:10 zhaogaojian 阅读(135) 评论(0) 推荐(0) 编辑
摘要:打开Settting.json按下图增加chcp 65001 阅读全文
posted @ 2022-03-23 17:40 zhaogaojian 阅读(71) 评论(0) 推荐(0) 编辑
摘要:新建一个sh文件 #!/bin/sh sudo nohup xxxxx >/dev/null 2>log & 上面是保存错误信息到log文件里 Linux的3种重定向 0:表示标准输入 1:标准输出,在一般使用时,默认的是标准输出 2:标准错误信息输出 什么也不保存 nohup ./program 阅读全文
posted @ 2022-03-21 14:42 zhaogaojian 阅读(153) 评论(0) 推荐(0) 编辑
摘要:valueType - Required. The data type of the value. Supported types are Bool, Int8 - Int64, Uint8 - Uint64, Float32, Float64, String, Binary, Object and 阅读全文
posted @ 2022-03-16 18:09 zhaogaojian 阅读(61) 评论(0) 推荐(0) 编辑
摘要:1、描述 服务器端使用InterrogationHandler回调函数来处理Interrogation请求。根据QOI(询问限定符)的值,返回不同的信息对象。对于一个简单的系统,仅处理 总查询 请求就足够了(QOI = 20)。QOI值21-36用于询问组(1-16)。由从属实施者将信息对象分配给询 阅读全文
posted @ 2022-03-09 20:00 zhaogaojian 阅读(905) 评论(0) 推荐(0) 编辑
摘要:1、control reaches end of non-void function [-Wreturn-type] 这个是代码分支没有return. 如果你如果使用到这个代码返回值判断的话,可能会返回一个随机的数,会导致程序随机错误。 2、printf("%d",lValue) 类似上面这种lon 阅读全文
posted @ 2022-03-09 13:14 zhaogaojian 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1、获取主站报文公共地址 int inCa = CS101_ASDU_getCA(asdu); 2、主动关闭主站链接 IMasterConnection_close(connection); 3、回复主站确认 IMasterConnection_sendACT_CON(connection, asd 阅读全文
posted @ 2022-03-05 15:21 zhaogaojian 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:1、关于CFLAGS CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项。 今天在一个项目改用C++编译后,makefile编译一直不成功,研究发现是没有使用CXXFLAGS. 2、make传递参数 test=11 test1: echo $(test)"- 阅读全文
posted @ 2022-03-03 13:02 zhaogaojian 阅读(48) 评论(0) 推荐(0) 编辑
摘要:注意路径如果出错的话init 返回-1.,使用方法 main.c里添加全局变量 zlog_category_t *zc; //初始化日志 char conf_file[1024] = {0}; sprintf(conf_file, "%s/%s", CONFIG_DIR_PATH, ZLOG_FIL 阅读全文
posted @ 2022-03-03 00:45 zhaogaojian 阅读(174) 评论(0) 推荐(0) 编辑
摘要:方法一 -Wl,-Bstatic指示链接libtest.a静态库, -Wl,-Bdynamic指示链接系统动态库。 make文件示例: LIBS += -Bstatic -lcjson LIBS += -Bdynamic -lmosquitto 方法二 gcc test.c -static 阅读全文
posted @ 2022-02-23 23:30 zhaogaojian 阅读(51) 评论(0) 推荐(0) 编辑
摘要:手头使用的是libmodbus库,不支持rtu over tcp模式。看官方没有增加这个功能的打算,于是在现有tcp代码基础上重构了下,增加了rtu over tcp支持,目前简单使用没有问题。 代码放到 https://github.com/zhaogaojian/libmodbus_rtu_ov 阅读全文
posted @ 2022-02-18 16:15 zhaogaojian 阅读(815) 评论(0) 推荐(0) 编辑
摘要:1、使用MThing模拟数据 注意: (1)箭头处一定留空,不然只有本机能收到数据,一开始误以为这是绑定监听IP,被坑了好长时间。 会提示:error connection reset by peer: read (2)如果端口配置错误会提示: [Errno 9] Bad file descript 阅读全文
posted @ 2022-02-18 00:23 zhaogaojian 阅读(643) 评论(0) 推荐(0) 编辑
摘要:今天在一个问题上研究了几个小时,最终解决,问题是:在Linux C中,如果不声明函数,也是可以编译的,但是会不检查函数形参类型,假如类型错误的话,不会提示。 用简化代码重现问题: //网络结构体 typedef struct tcp_info{ char ip[32]; char port[16]; 阅读全文
posted @ 2022-02-16 21:43 zhaogaojian 阅读(71) 评论(0) 推荐(0) 编辑
摘要:1、linux下直接 ./configure 在src下make即可 2、armlinux下 ./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --target=arm-linux 然后在src下make即可 编译后效果 阅读全文
posted @ 2022-02-16 13:52 zhaogaojian 阅读(362) 评论(0) 推荐(0) 编辑
摘要:在windows下使用vscode编辑linux c代码时,会有红色波浪线,可以简单修改解决 阅读全文
posted @ 2022-02-15 23:31 zhaogaojian 阅读(751) 评论(0) 推荐(0) 编辑
摘要:使用libmodbus modbus_set_error_recovery(ctx, MODBUS_ERROR_RECOVERY_LINK | MODBUS_ERROR_RECOVERY_PROTOCOL); 遇到错误 查了一圈原因,发现因为用的g编译导致,改成gcc就可以了。 原因 C语言中枚举的 阅读全文
posted @ 2022-02-15 20:24 zhaogaojian 阅读(207) 评论(0) 推荐(0) 编辑
摘要:ModBus与JBus协议是兼容的,他们的数据包的结构是相同的。唯一的区别在于他们对数据存储的物理地址的表示相差为“1”。JBus地址与绝对地址相同,例如他为1时,ModBus地址为0。 阅读全文
posted @ 2022-02-15 19:25 zhaogaojian 阅读(298) 评论(0) 推荐(0) 编辑