09 2018 档案
摘要:1. 不能用virtual、const、volatile修饰 2. 不属于任何对象,属于类,直接可以用类名访问 3. 没有this指针
阅读全文
摘要:一. DataAgentManager 1. InitSocket——nanomsg进程间通信(deviceHeartBeatSocket、deviceHeartBeatEid、sendHeartBeatSocket、sendHeartBeatEid、deviceCmdSocket、deviceCm
阅读全文
摘要:一. 模式:解决某一类问题的方法论。 二. 框架:选择实现系统的一组组件。框架一般处于低层应用平台(如J2EE)和高层业务逻辑之间的中间层。 三. 架构:即体系结构,确定系统整体结构、层次划分、不同部分之间的协作等设计。 四. 框架与架构:框架比架构更具体,更偏重技术,一旦框架确定,软件架构也随之确
阅读全文
摘要:#include <stdio.h>#include <stdlib.h>#include <string.h> void GetMemory(char *p){ //char *p = str, p = str(值传递,跟str无关,内存分配失败) p = (char*)malloc(100);}
阅读全文
摘要:1. 硬件开发(网关、PLC) 2. 嵌入式软件开发(Linux、Agent(C/C++、Python)) 3. Web开发(前端(Angular、TypeScript)、后端(MVC、C#)) 4. 服务器开发(微软Azure(IotHub、EventHub))
阅读全文
摘要:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。 输入的字符串以!结束。 //getchar()从键盘获取输入字符,小写到大写转换为减去32 ,fputc将字符写入文件#include <stdio.h>#include <stdlib.h> int m
阅读全文
摘要:字符串反转:strRev 字符串拷贝:strcpy 字符串连接:strcat 字符串转换为整数:atoi 字符串求长:strlen 字符串比较:strcmp
阅读全文
摘要:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。 #include <stdio.h>#include <stdlib.h>#include <string.h> #include <iostream>using namespace std
阅读全文
摘要:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 #include <stdlib.h>#include <stdio.h> typedef struct{ int id; char
阅读全文
摘要:MQTT:物联网标准通信协议,适用于工业物联网带宽低、网络传输不稳定的场景,能在处理器和内存资源都有限的嵌入式设备中运行,支持一对多的订阅主题方式(一个Server,多个订阅者Client)。 HTTP:主要应用于Web,请求都是由客户端发起,服务端无法主动通知客户端。若需实现反向控制需要客户端不断
阅读全文
摘要:循环队列:先进先出,从头出:front+1,从尾进:rear+1,空判断:front==rear,满判断(rear+1)%maxsize==front //循环队列的实现 //定义队列结构体 define MAXSIZE 100 typedef struct{ int *base; //存储内存分配
阅读全文
摘要:__Interrupt 作用:执行紧急中断事件 要点: 1. 无参数 2. 无返回值 3. 短而高效,由中断置位标志位或发出信号由应用层去处理其他工作 4. 不应该有重入和性能上的问题,用puts而不是printf。 正确示例: void interrupt int60() { puts("This
阅读全文
摘要:PID作用:P(准)、I(稳)、D(快) Kp比例:放大倍数可调的控制器。 Ti积分:消除稳态误差,可能增加超调。 Td微分:加快系统响应速度,减小超调趋势。
阅读全文
摘要:Linux定时器接口主要分为三类: 一. sleep(), unsleep, alarm(),引用了SIGALARM信号,在多线程中使用信号又是相当麻烦的。 二. nanosleep(), clock_nanosleep(),让线程挂起,程序失去响应,多线程网络编程中应该避免。 三. timerfd
阅读全文
摘要:第三方库:1. 采集数据端:plcconnector、libmodbus、RS232。2. 发送数据端:libmosquitto。3. 数据存储:libsqlite3。 其他技术:1. 进程间通信:IpcPOSIX消息队列(阻塞读写)。2. 线程间通信:BlockingQueue队列(阻塞读取)。3
阅读全文
摘要:1. 打开IIS增加Application Pools,其中如果是.net core应用程序则.NET CLR version选择No Managed Code,否则默认选择.NET CLR Version v4.0.30319。 2. 在Default Web Site下增加应用,本地路径均指向安
阅读全文
摘要://声明 Declare p_tmpValue int DEFAULT null; Declare p_tmpName LONGTEXT DEFAULT ' '; //IF IN SET IF (p_tmpTag in ('A', 'B')) THEN SET p_tmpValue=1; END I
阅读全文
摘要:#include <iostream> using namespace std; #include <assert.h> void* myMemcpy(void* dst, const void* src, size_t count); int main(void) { int test[4] =
阅读全文
摘要:#include <iostream> using namespace std; #include <string.h> #include <assert.h> char* myStrcpy(char* dst, const char* src); int main(void) { char* sr
阅读全文
摘要:一. 线程管理 1. 连接和分离线程 pthread_join(threadid,status)阻塞当前线程,直到threadid所指线程结束 pthread_detach(threadid,status)父线程调用,将该子线程的状态设置为detached,则该线程运行结束后会自动释放资源,父线程不
阅读全文
摘要:进程:家庭,家庭间数据独立、地址独立,通信必须通过内核调度 线程:家庭成员,家庭成员间数据共享 一. 进程间通信(IPC):管道、有名管道、消息队列、信号量、共享内存、信号、套接字(网络通信) 1. 信号:类似在软件层面上的中断,一个进程接收到一个信号与处理器接收到一个中断请求可以说是一样的(异步)
阅读全文
摘要:网络通信从上到下包括用户进程、应用层(HTTP、MQTT、WEBSERVICE)、传输层(TCP、UDP)、网络层(IP、ICMP、IGMP)、链路层(ARP、硬件接口、RARP) Socket是处于应用层与传输层之间的一组接口,把复杂的TCP/IP协议族隐藏在接口后面 Socket通信: Clie
阅读全文
摘要:C++库:libmodbus 1. 创建实例(包括tcp和rtu),同理socket通信也需要创建client和server实例 2. 读取:读取多个连续线圈状态、连续输入状态、连续输入寄存器、连续保持寄存器 3. 写入:写入单个线圈状态、多个连续线圈状态、单个寄存器、连续多个寄存器 4. floa
阅读全文