- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 CDT 规约 crc8校验 查表法 Go版本代码
var auchCRCHi = []byte{ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01...
2020-02-26 10:48:56
642
原创 利用接口实现简单的日志写入器
logger.gopackage main//声明日志写入器接口type LogWriter interface { Write(data interface{}) error}type Logger struct { writerList []LogWriter}//注册写入器,将多个writer方法存到切片中func (l *Logger) RegisterWrit...
2019-11-20 13:21:09
400
原创 利用CGO,实现Go语言与C语言的回调
最近在工作中写一个驱动的时候,用到了CGO。同时又需要将C中的有关数据回调到Go语言当中。参考了部分前辈的代码后和不断摸索后,终于实现了回调功能。现记录于下: C代码部分如下:XXX.h/*C代码头文件需要添加类似如下声明*/typedef void(*PSetVal) (char* s,int index); //C中使用的回调函数声明static PSetVal P...
2019-09-19 15:41:09
1848
原创 线程同步有关知识总结
线程同步:当多个控制线程共享相同的内存时,需要确保每个线程看到一致的数据视图。 两个或多个线程试图在同一时间修改同一变量时,需要进行同步。增量操作通常分解为以下3步: ·从内存单元读入寄存器 ·在寄存器中对变量做增量操作 ·把新的值写回内存单元 如果两个线程试图几乎同一时间对同一个变量做增量操作而不进行同步到话,结果就可能出现不一致。...
2019-01-18 16:16:41
239
原创 进程间通信有关知识整理
进程间通信(InterProcess Communication,IPC)经典的IPC有如下几种:管道、FIFO、消息队列、信号量、共享存储 管道局限型:·半双工·只能在具有公共祖先的两个进程之间使用管道是通过调用pipe函数创建#include <unistd.h>int pipe(int fd[2]); 若成功,返回...
2019-01-18 15:07:09
339
原创 Makefile 学习整理
Makefile的规则:target ... : prerequisite... command ... ... target是一个目标文件,可以说object file ,也可以是执行文件,也可是标签prerequisite使生成target所需要的文件或者是目标command也就是make需要执行的命令Makefile的书写命令: 每条规则中...
2019-01-11 10:43:29
271
转载 黑盒与白盒测试
一. 软件测试方法1. 软件测试方法:白盒测试、黑盒测试、灰盒测试、静态测试、动态测试2. 白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例。白盒测试技术一般可被分为静态分析和...
2018-12-21 16:06:43
9780
原创 Git使用有关知识和指令
Git工作区、暂存区和版本库等概念 ·工作区:电脑里能看见的目录 ·暂存区:一般存放在 “.git”目录下的index文件中,暂存区也叫索引 ·版本库:工作区有一个隐藏目录.git,这个不算工作区,而是git的版本库Git工作流程-克隆Git资源作为工作目录 git init --用当前目录作为Git仓库,直接初始化 git clone <仓库...
2018-12-05 14:35:18
128
原创 SQL有关指令总汇
一、基础(标红部分均为库/表/索引/视图名)创建删除有关:创建数据库:creat database dbname删除数据库:drop database dbname创建新表: create table tbname(col1 type1[not null][primary key],col2 type2[not null],...)根据已有的表创建新表:完全相同:creat...
2018-11-26 14:51:43
384
原创 线性队列,循环队列以及链式队列有关操作
#include <stdio.h>#include <stdlib.h>#define Maxsize 5typedef struct queue{ int data[Maxsize]; int head; int tail;}Queue;Queue* Queue_Init()//队列初始化{ Queue *q = (Queue*)malloc...
2018-08-13 15:02:28
287
原创 select 服务器
有关select函数的头文件以及相关参数nfds为描述符,readfds,writefds,exceptfds,为读,写,异常条件的操作符集select使用的描述符集,通常是一个数组,其中每个整数中的每一位对应一个描述符 void FD_ZERO(fd_set *fdset)//清空描述符集void FD_SET(int fd,fd_set *fdset)//将指定描述符添...
2018-08-07 11:03:06
117
原创 顺序栈和链栈的 入栈和出栈操作
顺序栈#include <stdio.h>#include <stdlib.h>#define Maxsize 5typedef int Elem;typedef struct{ Elem data[Maxsize]; int top;} SqStack;typedef SqStack * Stack;int InitStack(Stac...
2018-08-04 17:10:45
10363
原创 单链表的增删查改,以及双向链表的有关操作
最近在回顾线性存储结构-链式存储有关的操作,到现在基本上复习完毕,整理相关代码如下:#include <stdio.h>#include <stdlib.h>#include <strings.h>struct node{ int data; struct node* next;}Node;typedef struct node* Li...
2018-08-03 15:47:19
275
原创 利用指针来进行字符串排序
/************************************************************************* > File Name: strswap.c > Author: Jam > Mail: 13260888260@163.com > Created Time: 2018年07月29日 星期日 09时19分46秒...
2018-07-29 13:06:07
5075
原创 一维数组,二维数组,字符串数组,指针的有关知识点整理
到今天为止算是正式把数组,字符串,以及指针这一块初步复习了一遍。下面是有关知识点总结:int array[2]={1,2};//一维数组array:一维数组的地址,同时也是一维数组首元素的地址*array+i :一维数组第i+1个元素的地址*array:一维数组首元素的值*(array+1):一维数组第i-1个元素的的值*array+1:一维数组首元素的值+1;in...
2018-07-29 13:02:41
884
原创 简述对矩阵键盘的理解
单片机矩阵键盘是由行线和列线组合而成的键盘电路原理图如下:假设红点处为按键按下行列检测原理:给每一行依次赋一个低电平用来检测。如果该行的按键没有被按下,那么4个列全为1。以第一行为例,与0xfe进行比对。如果一样,那么检测下一行。如果该行有按键按下,那么4个列中必有一个为0。以该图为例,与0xfd进行比较,发现不相等,进入处理语句。 //示例代码unsigned ...
2018-07-29 00:21:21
1920
原创 QT项目-贪吃蛇
学习Qt之后便找了贪吃蛇这个小项目来练习,因为没有使用UI,因此在绘制方面工程量较大首先了解贪吃蛇的游戏逻辑:1.食物随机出现,蛇头与蛇尾随机(完成游戏初始化)2.蛇碰到食物蛇身变长3.不按键时蛇按照当前方向前进4.按键转向5.蛇触碰到自己和边缘游戏结束第一阶段初步完成时,完成情况如下:所需要实现的功能:1.注册以及各种判定,注册信息存入数据库 √2.更改...
2018-07-26 00:34:25
4025
3
原创 51-小程序 利用数码管制作秒表
秒表计时,计时单位精确到0.01s,计时达到60s时置零继续重新计时。#include <reg51.h>unsigned int second,msecond;#define DataPort P2sbit LATCH1 = P1^0;sbit LATCH2 = P1^1;unsigned char code Seg_mod[10]={0x3f,0x06,...
2018-07-25 11:03:48
5405
1
原创 Linux 下设置输入不回显(可用于登录框输入密码)
因为在linux下没有getch()函数,所以在实现不回显功能的时候,需要用到tcgetattr 和 tcsetattr 其中tcgetattr :获取终端的相关参数tcsetattr :设置终端参数头文件:#include <termios.h>函数原型: int tcgetattr(int fd,struct termios *termios...
2018-07-23 20:15:31
1113
原创 7段八位数码管显示动态数据
#include<reg51.h> //#define DataPort P2 //定义数据端口 sbit LATCH1=P1^0;//定义锁存使能端口 段锁存sbit LATCH2=P1^1;// 位锁存unsigned char code Seg_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x0...
2018-07-23 13:15:13
12284
3
转载 字符串替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:1.开辟一个新的字符串数组,逐个查找转移,遇到空格用 “%20” 代替转移2.在字符串本身替换①从前往后替换,添加的时候需要将后面的字符串不断移动②从后往前替换以下转载自牛客网详解链接:https://...
2018-07-21 22:47:31
106
原创 51小程序--流水灯+花样灯
#include <reg51.h>typedef unsigned char u8;typedef unsigned int u16; #define PORT P1 void delay(unsigned char time){ unsigned int j = 100000; for(; time > 0; time--)...
2018-07-21 18:41:34
4791
原创 0718-0719部分错题知识点总结
1形参是函数定义的函数头中声明的变量,实参可以是常量、变量、甚至是复杂的表达式。两者均占用独立的存储单元2在C++98里:只有在static const声明的整型成员在类内部初始化,并且初始化值必须是常量表达式在C++11里:允许非静态数据成员在声明处(在其所属类内部)进行初始化。静态成员变量不可以赋值3没有初始化的指针为空,不指向任何对象,也不调用构造函数4...
2018-07-20 08:45:38
164
原创 ubantu虚拟机有关问题
昨天在晚上VM12 pro下安装ubuntu 18.04版本安装出现错误not syncing : corrupted stack end detected inside scheduler原因:VM兼容性问题解决办法:更新VM至14 pro ,自定义安装时硬件兼容性选择Workstation 14.x可避免该问题或者将ubantu 18.04更换为14.04或者16.04...
2018-07-19 11:16:57
651
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人