关于websocket前端的使用尝试——持续更新
第一次使用WebSocket,出现很多问题:特此记录。 举例: 先声明一个websocket,创建websocket的对象: let webSocket = new WebSocket(“ws;//127.0.0.1:8800”)。 可以在浏览器上查看websocket的状态: 1、如果为0,代表正在连接。connecting 2、如果为1,代表连接成功。open 3、如果为2,代表连接正在关闭。closing 4、如果为3,代表连接已经关闭,或者打开失败。closed 使用webSocket
C语言--__attribute__((noreturn))
1、
#include <stdlib.h>
#include <stdio.h>
void
Fun_Exit(void)
{
exit(1);
}
int
Fun_Test(int n)
{
if (n > 0) {
Fun_Exit();
printf("Hello World\r\n");
} else
return 0;
}
int
main(int argc, char *argv[])
{
STM32--assert_param断言宏
1、基本概念 宏定义 在stm32f10x_conf.h头文件中,有如下定义:
/* #define USE_FULL_ASSERT 1 */
#ifdef USE_FULL_ASSERT
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
void assert_failed(uint8_t* file, uint32_t line);
#els
C语言--#err和#warning的使用
1、#warning用于自定义一条编译警告信息。
#include <stdio.h>
int main()
{
#ifndef COMMAND
#warning Compilation will be stoped ...
#endif
printf("%s\n", "COMMAND");
return 0;
}
/**程序输出结果
COMMAND
*/ 编译器警告信息如下图,但没有停止编译 2、#error用于自定义一条编译错误信息。
#
C语言--NULL和NUL
1、NULL 标准定义了NULL指针,它作为一个特殊的指针变量,表示不指向任何东西。要使一个指针变量为NULL,你可以给它赋一个零值。为了测试一个指针变量是否是NULL,你可以将它与零值进行比较。 对指针进行解引用操作可以获得它所指向的值。但从定义上来看,NULL指针并为指向任何东西,因此对一个NULL指针进行解引用操作时非法的。在对指针进行解引用操作之前,你首先必须确保它并非NULL指针。 如果所有的指针变量(而不仅仅是位于静态内存中的指针变量)能够被自动初始化为NULL,那实在是一件幸运的
STM32--在RAM中调试代码
听说STM32的FLASH只能擦写10000次,一个开发板就算1天擦写10次 10000/10/365=2.73972602739726,那岂不是一个开发板用两年之后芯片就废了,好方啊,有没有(其实如果你能做到10000次擦写,估计这个开发板你已经玩透了,把芯片刷过flash寿命,菜鸟也变成老鸟了)。如果你实在担心擦写10000次,那就可以试试在RAM中调试代码。 一、STM32的自举配置: 主flash:即从内部flash启动,keil下载程序默认就是下载到这里的,10000次擦写指的也是这
数字滤波--递推平均滤波
#define RM_BUF_LEN 10 /*递推数组的长度*/
uint16_t RM_Filter_Buf[RM_BUF_LEN]; /*保存数据的递推数组*/
uint16_t
ADCx_Recursive_Mean_Filter(uint16_t get_adc)
{
uint16_t sum = 0;
uint8_t i;
for(i = 0; i < RM_BUF_LEN - 1; i++)
C语言--结构struct
1、结构声明: struct tag{member-list}variable-list; 其中:tag、member-list和variable-list都是可选的,但是所有可选部分不能全部省略--他们至少要出现两个(这个规则的一个例外是:结构标签的不完整声明) 2、结构的自引用: 在一个结构内部包含一个类型为该结构本身的成员是否合法呢? struct SELF_REF1{ int a; struct SELF_REF1 b; char c; }; 这种类型的自引用是非法的,因为成员b是另一
数据结构--动态内存分配实现数组
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<stdbool.h>
typedef struct Arr{
int *pBase; /*存储的是数组第一个元素的地址*/
int len; /*数组的长度*/
int cnt; /*当前数组有效元素的个数*/
int increasement; /*增量*/
}Arr_Type;
C语言--跨函数使用内存
#include<stdio.h>
#include<malloc.h>
typedef struct {
int pi;
int pd;
int id;
}PID;
PID *Create_Fun(void);
void Fun_Show(PID *ps);
int
main(int argc, char *argv[])
{
PID *ps;
ps = Create_Fun();
Fun_Show(ps);
free(ps);
数据结构--内存分配中的栈(stack)与堆(heap)
C语言内存分配中的堆和栈 一、在C语言中,内存分配方式有如下三种形式: 1、从静态存储区域分配: 它是由编译器自动分配和释放的,即内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在,直到整个程序运行结束时才被释放,如全局变量与static类型的变量。 2、在栈上分配: 它同样也是由编译器自动分配和释放的,即在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元将被自动释放。 3、从堆上分配: 也被称为动态内存分配,它是由程序员手动完成申请和释放的。
Anaconda更新所有包,出现 post-link script failed for package defaults::ipykernel-4.8.2-py36_0错误的解决方法
这个错误是由于是在Windows 10(1709)上安装Anaconda 5.0.1 x64 的关系,执行conda update --all 会产生错误,因此,必须要先行升级ipkernal 版本才行,升级完毕后再重新执行一次conda update -- all 就可以顺利更新所有包。 解决方式,在Anaconda Prompt上先运行: conda update ipykernel 再运行: conda update --all
windows Git使用revert操作
刚刚开始接触git命令行,就被git revert操作难倒了,因为在使用 git revert HEAD命令后,总是出现以下问题: ,后来发现这种问题是正确的,只需要按住ESC键,同时按两下z,就可以安全退出这种形式,之后在git push一下就可以完成对远程版本库的revert操作!
Git版本库分支冲突如何修改
小白写git的lab作业,两个分支冲突不知道怎么解决,谷歌了下,最后终于解决!做下笔记如下。 首先,你需要下载一个mergetool,我下载的是kdiff3,这里是下载网址https://sourceforge.net/projects/kdiff3/ 然后,点击安装,直接按照默认设置安装即可。 然后,你需要在git里面用命令行对git进行配置,如下所示: 然后,就可以使用 git mergetool 进行分支合并了,运行这个命令行正确的结果是: 然后,这个时候就会跳出kdiff3的页面,分为
Java用IO读取文件内容出现错误
使用java读取文件信息,可以用以下方法,如果是读取包内的一个文件夹内的文件, 可以使用例如"maps/map.txt"的方式进行读取文件。 但是在读取过程中有时会出现FileNotFoundException的错误,很有可能是因为读取的文件的编码格式不是 UTF-8引起错误的,可以使用这种方法进行修改: 选择文件→另存为 编码选择UTF-8,这样就不会出错了。
try {
File file = new File("filename");
FileReader fileRe
Java读取文件信息读取的第一个字符是空字符
Java用IO读取文件中的字符串,第一个字符是空字符,如果要截取字符串的第一个字符,得到的 是空的,所以必须先对第一行字符串进行处理,去掉第一个字符,然后再进行相应操作。
C++出现‘atoi'was not declared in this scope 应该如何解决?
在学习C++,结果在命令行使用g++ n.cpp 编译的时候出现了这个错误,换成stoi(information)也还是同样的错误, 谷歌了半天,终于找到问题原因和解决方法: 问题原因:MinGW不是最新的,并不能识别C++的版本,原文是这样说的: MinGW isn't maintained by the same group as GCC itself, so it's not always up to date 解决方法:使用 g++ -std=c++11 n.cpp进行编译。
微信小程序setData数组异步问题使用回调解决
最近在写微信小程序,使用腾讯的地图api搜索附近的医院位置信息,并在微信小程序的地图上用图标显示出来。 但是,我search得到的数组,在setData()的时候竟然set不了,再打印出来还是空的,最后,通过回调函数得到了解决。 我写了一个函数来获得markers的数组,然后,再将数组写到data中 代码截图和说明如下: 函数调用的时候: 在函数定义的时候: 我这里是为了避免代码冗余,把得到数组的函数写在了外部的一个js文件中,如果不想这样做,只要去掉require(...)和module(.
如何在微信小程序中调用腾讯地图api
微信小程序的地图api是非常有限的,如果要搜索地图上的位置,比如附近的医院、学校等,就需要使用地图api,使用腾讯地图api的过程如下: 一、开发者申请腾讯地图 进入官网http://lbs.qq.com/key.html 申请密钥 验证完手机邮箱之后,就可以申请开发者密钥 二、下载微信小程序sdk http://3gimg.qq.com/lightmap/xcx/jssdk/qqmap-wx-jssdk1.0.zip 并解压,然后将其解压放入你的微信小程序开发目录的util中,这个压缩文件中
今日推荐
周排行