- 博客(60)
- 资源 (5)
- 收藏
- 关注
原创 如何检索、写作和顺利发表一篇SCI论文?
如何检索、写作和顺利发表一篇SCI论文?阅读 分为阅读对象、阅读目标、阅读方法检索方法搜索引擎主要www.google.com和scholar.google.com;www.baidu.com则仅在检索中文时稍好点,英文很差,用处不大。我们常用的google侧重于网页的检索,Scholar则主要针对学术类文献进行检索,格式主要是pdf,对于论文的引用也会显示,对于知道文献名和作者的情况比...
2019-09-29 16:29:34 1079
原创 【无人机——飞控不解锁问题】关于Ardupilot飞控解锁时电机发出“滴滴”声,可解锁但电机不旋转问题解决方案
出现这个问题的原因是电调油门行程没有校准,校准一下即可:统一校准电调油门行程解决方案如下:首先确保,飞机连接正常,校准完成,能正常解锁,不要安装桨叶:把遥控器的油门通道打到最高,飞机接上电池,看见 LED 进行多色闪烁,断开电源再次上电,不要动遥控器,当看见 LED 多色闪烁,按住安全开关解锁,之后听见滴滴叫声把油门打到最下,听见滴滴叫声后,轻推油门,电机转动则校准正常,如没有,请重新来过...
2022-01-25 16:11:25 8011 1
原创 【无人机——飞控】关于解决“连接QGC时可解锁,断开QGC连接时不可解锁问题”
本解决方案针对PX4 Stable Release v1.12.3,Ardu飞控可能无效。解决方案如下:进入全部参数树将参数“CBRK_SUPPLY_CHK”设置为894281,即可
2022-01-25 16:07:37 2500 1
原创 【无人机——PX4】解决arm时报错“compass inconsistent”问题
解锁时出现compass inconsistent xx°,一般是内部罗盘(飞控内)与外部罗盘(外置GPS内)获取参数不一致所造成的,解决方案如下:设法将MAG0罗盘关闭,即disable。一般可通过调节参数树来实现。由于不同PX4版本参数不同,故本次研究方法仅针对Stable Release v1.12.3:1. 进入参数配置页面2. 搜索参数"MAG0",可以发现与MAG0相关的诸多参数3. 将CAL_MAG0_PRIO 设置为Disabled...
2022-01-25 16:04:30 1979
原创 【经验】内网穿透教程——配置SSH连接(云服务器+frp)——适用于校园内网,公司内网等
内网穿透教程——配置SSH(云服务器+frp)文章目录1.安装并配置2.设置自启动3. 设置守护进程
2021-12-05 17:40:40 2166
原创 【编程基础の基础】闭包的理解以及libco库中的closeure学习
概念百度定义:闭包是指可以包含自由(未绑定到特定对象)变量的代码块;这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)闭包,即有状态的函数,更直接的来说,便是一个类一个函数,带上“状态”,便是闭包,按如下理解闭包有属于自己的变量(非static)变量的值(状态),在创建时绑定调用闭包时,可访问这些变量故总结如下:函数是代码,状态是一组变量,将代码和一组变量捆绑,即是闭包闭包的实现重载operator()class MyFunctor
2021-07-27 22:02:55 220
原创 【编程基础の基础】“#define _GNU_SOURCE“或是在编译时“-D _GNU_SOURCE“代表了什么?有什么用
概念详细的信息可查看Linux手册man feature_test_macros从GNU的文档中:Macro: _GNU_SOURCEIf you define this macro, everything is included: ISO C89, ISO C99, POSIX.1, POSIX.2, BSD, SVID, X/Open, LFS, and GNU extensions. In the cases where POSIX.1 conflicts with BSD, the PO
2021-07-27 17:38:32 1816
原创 【C++Debug日记】Resolver error: Error: The VS Code Server failed to start,解决!!
今日正常启动vscode ssh准备编辑写写代码,结果无法连接到远端服务器,我用Xterm试了一下,发现远端服务器可以照常连接,故排除了服务器本身的连接问题;具体报错信息如下:[08:47:41.235] Log Level: 1[08:47:41.244] remote-ssh@0.62.0[08:47:41.244] win32 x64[08:47:41.246] SSH Resolver called for "ssh-remote+mrevowgp1.westus2.cloudapp.az
2021-07-22 16:23:52 5057 5
原创 【编程基础の基础】CRTP+不定参数+单例模式
为便于编写不同派生类的单例模式(不同派生类的构造函数具有不相同的参数数目),故基于一般CRTP单例模式,编写了如下不定参数的CRTP单例模式。如下为头文件。// crtp.h#include<memory>#include<mutex>template<class Derived>class Singleton{public: template<class ...Args> static Derived& get_Inst
2021-06-18 00:07:11 275
原创 【Debug日记】fatal: cannot lock ref ‘refs/heads/feature/CXX_Config‘: ‘refs/heads/feature‘ exists;
针对已有项目进行GitFlow管理时,容易出现如下BUG:fatal: cannot lock ref'refs/heads/feature/CXX_Config': 'refs/heads/feature' exists; cannot create 'refs/heads/feature/CXX_Config'Fatal: Could not create feature branch 'feature/CXX_Config'.意思就是:不能同时存在名称为feature的文件和目录显然原因如下:
2021-06-13 01:56:52 2708
原创 【C++11高性能服务器】Thread Safety Analysis,概念,用法详解
静态检查工具:Clang thread safety annotations参考连接:Thread Safety Analysis¶总览线程安全分析的工作原理非常类似于多线程程序的类型系统。除了声明数据类型(例如int、float等)之外,程序员还可以(选择性地)声明如何在多线程环境中控制对数据的访问。例如,如果foo是由互斥锁mu保护的,那么当一段代码在没有首先锁定mu的情况下对foo进行读写时,分析就会发出警告。类似地,如果有一些特定的例程应该只由GUI线程调用,那么分析将在其他线程调用这些例.
2021-04-21 11:00:32 1247 1
原创 【编程基础の基础】syscall(SYS_gettid)
解决不同进程下,线程id相同情况无法通信的问题在linux下每一个进程都一个进程id,类型pid_t,可以由 getpid()获取。POSIX线程也有线程id,类型pthread_t,可以由 pthread_self()获取,线程id由线程库维护。但是各个进程独立,所以会有不同进程中线程号相同节的情况。那么这样就会存在一个问题,我的进程p1中的线程pt1要与进程p2中的线程pt2通信怎么办?进程id不可以,线程id又可能重复,所以这里会有一个真实的线程id唯一标识,tid。glibc没有实.
2021-04-18 16:05:05 4476
原创 【编程基础の基础】__builtin_expect详解(汇编级解释)
这个指令是gcc引入的,作用是允许程序员将最有可能执行的分支告诉编译器(优化执行,减少跳转)。这个指令的写法为:__builtin_expect(EXP, N)。意思是:EXP==N的概率很大。一般的使用方法是将__builtin_expect指令封装为likely和unlikely宏。这两个宏的写法如下.#define likely(x) __builtin_expect(!!(x), 1) //x很可能为真 #define unlikely(x) __builtin_expect.
2021-04-18 01:05:27 2433 2
原创 【数据结构】单调栈(概念,应用:最大矩形、雨水、牛、左右边界)
递增(减)栈应用场景:针对某个数,寻找它和它【左/右】两边第一个比他【大/小】的数,以及相距多少距离。1. 接雨水针对某个洼地,当前能接的雨水等于左右两侧【最大高度】的最小值-当前洼地的高度。(> O(N2)O(N^2)O(N2))对于某个洼地来说,其能盛水的量由【左右边界确定】,对于洼地> j0,j1,j0<j1,H[j0]<H[j1]j_0,j_1,j_0<j_1,H[j_0]<H[j_1]j0,j1,j0<j1,H[j0]<H[j1
2021-04-14 11:58:35 187
原创 【C++11高性能服务器】地址_端口复用技术
函数:setsockoptSO_REUSEADDR:地址复用SO_REUSEPORT:端口复用一般来说,一个{addr,port}只能被一个套接字绑定,即无法重用。不同的套接字只能绑定到不同的{addr,port}上!示例// sockfd_one, sockfd_two都要设置端口复用// 在sockfd_one绑定bind之前,设置其端口复用int opt = 1;setsockopt( sockfd_one, SOL_SOCKET,SO_REUSEADDR, (const v.
2021-04-09 22:22:27 370
原创 【C++11并发】何为std::atomic,其原理如何,以及使用注意事项
对原子类型的某些操作不一定是线程安全的,比如说a=a+12; 非线程安全a+=12; 线程安全分析如下Cppreference介绍成员函数(原子操作)is_lock_freestore用非原子参数替换原子对象的值load获取原子对象的值exchange交换两个原子对象的值wait阻塞线程,直到收到通知并且原子值发生变化notify_one通知至少一个线程在等待原子对象notify_all通知所有阻塞的线程等待原.
2021-04-09 21:47:59 8870 2
原创 【C++11高性能服务器】2MSL有多长?
速览MSL: Maximun Segment Lifetime,即报文最大生存时间注意:超过这个时间,报文将被丢弃!(确保旧tcp连接中链路中所有旧报文被丢弃)2MSL一般为4分钟!MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL
2021-04-09 21:34:06 610
原创 【C++11高性能服务器】监听套接字与已连接套接字的区别
先来结论:监听套接字的socket buffer只接受TCP连接请求过程中的syn和ack数据;已连接套接字的socket buffer主要存储的内容是两端传输的“正式数据”;两种套接字通过不同的四元组(其中客户端地址或端口不同)进行分辨服务端连接过程详解/* 服务器 */lfd=socket(..,SOCK_STREAM,..);bind(lfd,srv_addr,srv_port);/* 五元组中三元组成型: {protocal,src_addr,src_port}*/list.
2021-04-09 21:13:20 822
原创 【排序算法】☆☆快速排序+堆排序
数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。❤❤基于快排的快速选择思路快速排序为典型的分治算法,对a[l...r]排序的过程可以分解如下:分解:取任意下标pivot,并将数组划分成两个子数组,a[l...pivot-1](元素均<=a[pivot])和a[pivot+1...r](元素均>a[pivot])。解决:对子数组a[l...pivot-1]和a[pivot+1...r
2021-04-07 17:17:34 225
原创 【排序算法】归并排序——算法详解,题型举例,链表,数组
「归并排序」是分治思想的典型应用,它包含这样三个步骤:分解:待排序的区间为[l,r],令m=l+((r-l)>>1),将区间分为[l,m],[m+1,r]解决:使用归并排序递归地排序两个子序列合并:把两个已经排好序的子序列[l,m]和[m+1,r]合并起来在带排序序列长度为1的时候,递归开始【回升】,即默认长度为1时,序列时排好的。☆☆☆剑指 Offer 51. 数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这
2021-04-04 17:32:27 454
原创 【编程基础の基础】初始化列表和构造函数内初始化
先上结论使用初始化列表主要基于性能问题。对于内置类型,初始化列表与构造函数几乎无差异对于类类型(特别是复杂类型),由于使用初始化列表少调用了一次默认构造函数的过程,对数据密集型的类来说,是非常高效的!。代码实例针对于类类型,来证明【初始化列表少调用了一次默认构造函数】#include <iostream>using namespace std;class AA{public: AA() { std::cout << "AA: default con
2021-04-03 13:08:10 186
原创 【编程基础の基础】为什么要字节对齐?
什么是字节对齐?计算机并非逐字节读取内存,而是按2,4,8的倍数的字节块读写内存,故地址必须为上述倍数,故各种数据类型需要按照一定规则在空间上排列对齐准则结构体变量首地址可被对齐字节数大小所整除结构体每个成员相对该结构体首地址的偏移都是成员大小的整数倍(如需要,填充字节)结构体总大小为结构体对齐字节数大小的整数倍为什么要字节对齐?可优化【读写效率】【空间存储】【跨平台通信】读写效率考虑场景如下:若计算机每次读取8字节块,此时读取一个double,若未字节对其,可能该double位与
2021-04-02 15:56:10 263
原创 【算法】异或算法巧用——数字出现次数
性质:a^b=b^aa^b^c=a^(b^c)a^0=aa^a=0;在刷题上主要应用的是【异或】的自反省,即A^B^B=A,依此性质出现的题目层>出不穷应用1:交换a与bt=a^b;a=a^t;b=b^t;应用2:在一列数组中,其中数字均成双出现,仅有一个数字仅出现一次,求该【单身狗】。直接将整个数组异或求解,解便是该 【单身狗】剑指 Offer 56 - I. 数组中数字出现的次数一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这.
2021-03-31 16:40:16 300
原创 【数据结构】LRU缓存机制结构(C++实现)
算法描述LRU实际上是设计一个数据结构,有如下要求:包含容量capacity和当前元素数量size包含插入方法put和获取get时间复杂度为O(1);算法设计一般来说通过两个数据结构来实现LRU机制,即哈希表:用于存取【鍵-节点】对双向链表:用于存取【键-值】对,尾节点为最新加入的节点,头节点的后一结点为LRU节点struct Node{ int key,value; Node *pre,*next; Node(int _k,int _v):
2021-03-31 16:35:27 536 1
原创 【算法】记忆化回溯+状态压缩+分治
// 优化四:指令集优化,让CPU使用POPCNT指令,从而加速__builtin_popcount#pragma GCC target ("sse4.2")__builtin_popcount(state) == sz; 该指令计算state中二进制1的个数5619. 最小不兼容性给你一个整数数组 nums 和一个整数 k 。你需要将这个数组划分到 k 个相同大小的子集中,使得同一个子集里面没有两个相同的元素。一个子集的 不兼容性 是该子集里面最大值和最小值的差。请你返回将数组分成 k
2021-03-30 14:50:07 227
原创 【算法】无序整数数组查找第k个最大的数(包含内存缺乏情况)
文章目录速览算法详解内存足够快排算法思想伪代码二分按数值区间二分按位二分内存不足小根堆当K个数维护的根堆可存入内存时当K个数维护的根堆不能存入内存时(K过大,10亿)速览无序整数数组查找第k个最大的数对于无序整数数组查找第k个最大的数,主要分为如下两种情况内存足够快排二分按数值区间二分按位二分内存不足堆排序(维护一个堆)数据范围取值不大键值索引算法详解内存足够快排算法思想避免对所有数进行排序,采用快速排序分堆,并递归其中一半,直到所
2021-03-30 14:33:03 974
原创 redefinition of default parameter
默认参数起源:函数在声明和定义时均对某个参数设置了默认值,导致redefinition.解决:默认参数仅需在声明处定义即可。
2020-09-15 11:31:06 903
原创 具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool MyCompareoperator ()(int,int)
Error C3848:expression having type ‘const myCompare’ would lose some const-volatile qualifiers in order to call ‘bool myCompare::operator ()(int,int)’const-volatile qualifiers:常量可变限volatile影响编译器编译的结果,指volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免
2020-09-14 09:47:31 3033 3
原创 VS链接顺序问题
VS文件排序不同导致链接顺序不同,进而产生不同的结果最近在测试不同源文件编写inline函数时,突然发现在VS上出现的特殊问题——源文件排列顺序影响着其链接顺序,进而会让程序产生不同的结果。inline 基本概念: 使用函数能够避免将相同代码重写多次的麻烦,还能减少可执行程序的体积,但也会带来程序运行时间上的开销。 函数调用在执行时,首先要在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下来还要将函数的返回地址(该地址指明了函数执行结束后,程序应该回到哪里继续执行)放
2020-09-13 10:17:11 720
原创 C7510 use of dependent type name must be prefixed with ‘typename‘
Error C7510 ‘iterator’: use of dependent type name must be prefixed with ‘typename’//报错代码template <typename T>void myprint(T& v) { T::iterator it = v.begin(); //error c7510 occur for (; it != v.end(); it++) { std::cout << *it <
2020-09-12 17:10:56 528
原创 【Effective C++】总结整理之3_资源管理
文章目录3.资源管理13.以对象管理资源`auto_ptr`——智能指针`tr1::shared_ptr`——RCSP(reference-counting smart pointer)13总结14 在资源管理类中小心copying行为当一个RAII对象被赋值,会发生什么事情?禁止复制引用计数法——`tr1::shared_ptr`14总结15 在资源管理类中提供对原始资源的访问智能指针显式隐式获取原始资源15总结16 成对使用new和delete时要采取相同形式17 以独立语句将`newed`对象置入智能
2020-09-12 16:59:59 151
原创 链接时inline导致的LNK2019错误
示例代码//test.hclass test{ public: void func(); void func1();}//test.cppvoid test::func(){ cout<<"非内联定义"<<endl;}inline void test::func1(){ cout<<"内联定义"<<endl;}//main.cppint main(){ test t; t.fu
2020-08-27 11:23:21 362
原创 C++ this declaration has no storage class or type specifier
C++ this declaration has no storage class or type specifier源代码//vvect.hvector<int> a = { 1,2,3,4,5 };a = { 2,3,4,5,6 }; //E0077a.push_back(); //E0077//test.hint a=1; //成功a=2; //Error E0077//Orderbook.h class Orderbook {
2020-08-26 09:55:50 2990
原创 vector拷贝构造和赋值构造与容量、大小的关系
vector拷贝构造和赋值拷贝时,容器容量和大小的关系考虑3种情况下拷贝构造赋值拷贝(未指定reserve)赋值拷贝(指定reserve)代码实现:using namespace std;void showinfo(vector<int>& v) { cout << "容量" << v.capacity() << "\t"; cout << "大小" << v.size() <<"
2020-08-25 09:10:49 486
原创 vector迭代器失效问题(增删改)(push_back,pop_back,erase,clear)
文章目录Vector迭代器增、删、改导致的literator失效问题增capacity不足capacity充足——首插capacity充足——中插capacity充足——尾插总结删尾删头删(和中删类似)执行clear()总结改Vector迭代器增、删、改导致的literator失效问题增capacity不足当vector插入数据后,超过容量的情况例子//capacity()不足,在末尾添加元素void showInfo(vector<int> &v) { cout
2020-08-24 17:23:29 1496
原创 【数字孪生】Grieves教授——虚拟智能产品系统:数字和物理孪生论文阅读笔记
虚拟智能产品系统:数字和物理孪生来源:Virtually Intelligent Product Systems: Digital and Physical Twins 近年来数字孪生取得了前所未有的关注,最近在读Grieves教授2019年发表的一篇论文,篇幅较长,故在阅读中写下自己的感想和理解,顺便分享给需要的朋友。1 Introduction 本文聚焦于【智能联网产品系统】,在文中被定义为SCPSs(Smart,Connected Product Systems)。在计算力和通信力
2020-05-26 02:38:36 1791
原创 【PYTHON小项目】VCF文件转EXCEL文件方法详解(附QUOTED-PRINTABLE编解码)
来源整理大量通讯录时,发现从手机上下载的CSV文件不易转成EXCEL文件(QQ通讯录和百度云盘都试过了,CSV文件过大无法加载),导致整理起来特别麻烦,故试图自己写一个小程序来处理文件。分析CSV文件用文本编辑器打开vcf一看,就是文本格式,我只需要把它转换成csv格式,然后就可以导入到Excel中了BEGIN:VCARDVERSION:2.1N;CHARSET=UTF-8;ENCOD...
2020-03-28 14:56:34 3765 5
原创 matplotlib标签出现乱码解决方案
问题来源def wx_show_sex_infor(data): labers = ['男性','女性','未标记'] data = [data['male'],data['female'],data['other']] plt.pie(data,labels=labers,autopct='%.2f',shadow=True) plt.show() pl...
2020-03-12 00:20:12 311
原创 【PYTHON3学习】廖雪峰HTMLParser网页信息爬虫初入门
题目找一个网页,例如https://www.python.org/events/python-events/,用浏览器查看源码并复制,然后尝试解析一下HTML,输出Python官网发布的会议时间、名称和地点。代码版本1——时区转换from html.parser import HTMLParserfrom urllib import requestfrom datetime import...
2020-02-23 15:49:56 336
原创 【PYTHON3学习】常用内置模块urllib学习总结
1 urllib提供了一系列用于操作URL的功能1.1 简单爬虫1.引入请求模块——from urllib import request2.打开网页——request.urlopen()3.读取网页——read此处以https://www.douban.com为例子from urllib import requestwith request.urlopen('https://www...
2020-02-22 21:18:22 2993 3
darwin MacOS Catalina 10.15.7z
2020-09-15
Virtually Intelligent Product Systems: Digital and Physical Twins.pdf
2020-05-26
SDP(semi-definite programming).pdf
2020-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人