- 博客(62)
- 资源 (8)
- 收藏
- 关注
原创 NLog 配置文件及简单使用
2.在项目名右键新建一个应用程序配置文件NLog.config,输入以下内容。1.从Packet Mananger中安装NLog。
2024-06-02 15:07:57
598
1
原创 Memory Leak
常见内存泄漏场景计算机常见的内存分配有栈区,堆区,全局变量区,代码区等。 一些局部变量在栈区的话,它的内存申请和释放是由操作系统完成的。而通过new和malloc申请的内存是在堆区,这部分内存需要程序员自己手动释放,操作系统不负责这部分内存的管理。如果我们通过这种方式在堆上申请了内存,用完之后没有手动区释放这部分内存,它一直会被应用程序占用,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。1. 类似 Vector的数据结构,不断的 push_back()数据进去,但没有去清理内存vec
2021-12-13 14:16:54
1134
原创 C# Lambda 表达式
使用 Lambda 表达式来创建匿名函数。 使用lambda 声明运算符=>从其主体中分离 lambda 参数列表。 Lambda 表达式可采用以下任意一种形式:表达式 lambda,表达式为其主体: (input-parameters) => expression 语句 lambda,语句块作为其主体: (input-parameters) => expression 若要创建 Lambda 表达式,需要在 Lambda 运算符左侧指定输入参...
2021-08-16 23:33:24
220
1
原创 C++ 中的 Lambda 表达式
在 c + + 11 及更高版本中,lambda 表达式(通常称为 "lambda")是一种定义匿名函数对象的简便方法, (关闭) 在调用的位置或作为自变量传递给函数的位置。 通常,lambda 用于封装传递到算法或异步函数的几行代码。Lambda 表达式的组成部分ISO C++ 标准展示了作为第三个参数传递给std::sort()函数的简单 lambda:#include <algorithm>#include <cmath>void abssort(fl...
2021-08-16 23:03:50
384
原创 发布基于 EventHandler 模式的事件[泛型]
1. 将自定义数据的类声明为对发布服务器和订阅者类均可见的范围。 然后添加所需成员以保留自定义事件数据public class CustomEventArgs : EventArgs{ public CustomEventArgs(string message) { Message = message; } public string Message { get; set; }}2. 声明事件如果没有任何自定义 EventArgs 类,事件类型将
2021-08-15 11:13:23
235
转载 C# DPI适配问题
C# DPI适配问题(部分电脑)什么是DPI?全称是dots per inch (DPI), 也就是每英寸的点数,在显示器上就是每英寸的像素个数,Window上一般默认是96 dpi 作为100% 的缩放比率, 但是要注意的是该值未必是真正的显示器物理值, 只是Windows里我们的一个参考标准。当我们不想要我们的界面随着DPI的改变而改变的时候,可以让windows忽略我们的程序,代码如下:// 在运行整个程序要打开的第一个winform的初始化里面,执行这个方法就可以了 public
2021-04-21 00:40:52
804
原创 Ubuntu装机软件清单
Dev电源管理sudo add-apt-repository ppa:linrunner/tlpsudo apt-get install tlp tlp-rdwsudo tlp start安装开发工具sudo apt-get install build-essentialVirtualBoxsudo apt install virtualboxTyporafor Linux# or run:# sudo apt-key adv --keyserver keyse
2021-04-04 18:44:15
329
原创 LeetCode:最长无重复子串
LeetCode:合并两个有序链表int lengthOfLongestSubstring(char* s){ int len=0; int start=0; int end=0; char map[128]={0}; map[(int)*(s+start)]=1; while(*(s+end)!='\0') { // if(map[(int)*(s+end)]==0) // { //
2021-01-17 11:08:49
182
原创 LeetCode:反转链表
LeetCode:反转链表/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* reverseList(struct ListNode* head){ if(head==NULL || head->next==NULL) return head; st
2021-01-17 11:06:14
114
原创 LeetCode:合并两个有序链表
LeetCode:合并两个有序链表/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){ if(l1==NULL) return l2; if(l2==NUL
2021-01-17 11:01:47
114
原创 C/C++求给定数组的次大值
int subMax(int a[],int n){ int max=a[0]; int sub_max=a[0]; for (int i = 1; i < n; i++) { if(a[i]>max) { max=a[i]; } else if(a[i]<max) { if(a[i]>sub_max) { sub_max=a[i]; } } e...
2020-10-23 10:54:51
749
原创 判断浮点数是否相等
float的精度误差1e-6,double精度误差在1e-15判断一个float型数:if(fabs(f) < 1e-6);判断一个double型数:if(fabs(f) < 1e-15);若为真,则看作相等。PS:fabs()是对浮点数求绝对值,abs()是对整数求绝对值。...
2020-10-13 14:44:25
720
1
原创 CMakeLists调用共享库
so共享库编写创建一个名为 MySharedLib 的共享库CMakeLists.txtcmake_minimum_required(VERSION 3.10)project(MySharedLib)set(CMAKE_CXX_STANDARD 11)add_library(MySharedLib SHARED library.cpp library.h)library.h#ifndef MYSHAREDLIB_LIBRARY_H#define MYSHAREDLIB_LIBRARY_H
2020-10-12 21:05:09
871
1
原创 Shell 常用命令和工具(一)
1 列出目录内容:ls -a 显示所有文件,包括隐藏的 -l 长格式列出信息 -i 显示文件 inode 号 -t 按修改时间排序 -r 按修改时间倒序排序 2 打印:echo3 格式化打印:printf 用法:printf format [agrs]format:%.ns 输出字符串,n 是输出几个字符%ni 输出整数,n 是输出几个数字%m.nf 输出浮点数,m 是输出的整数位数,n 是输出的小数位数%x 不带正负号的十六..
2020-09-28 10:47:48
364
转载 STM32的I/O口的8种工作模式
STM32的I/O口的8种工作模式 :GPIO_Mode_AIN模拟输入 GPIO_Mode_IN_FLOATING浮空输入 GPIO_Mode_IPD下拉输入 GPIO_Mode_IPU上拉输入 GPIO_Mode_Out_OD开漏输出 GPIO_Mode_Out_PP推挽输出 GPIO_Mode_AF_OD复用开漏输出 GPIO_Mode_AF_PP复用推挽输出推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作...
2020-08-27 00:12:28
300
1
原创 Windows批处理脚本(一)
基本命令cmddir列文件名cd改变当前目录ren改变文件名copy拷贝文件del删除文件md建立子目录rd删除目录deltree删除目录树format格式化磁盘edit文本编辑type显示文件内容mem查看内存状况help显示帮助提示cls清屏move移动文件,改目录名more分屏显示xcopy拷贝目录和文件显示和打印echo@>&g
2020-08-17 00:33:17
643
原创 C语言捕获网卡数据(抓包)
#include "stdio.h"#include "winsock2.h"#pragma comment(lib,"ws2_32.lib") //For winsock#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) //this removes the need of mstcpip.hvoid StartSniffing (SOCKET Sock); //This will sniff here and therevoid ProcessPacke.
2020-08-16 19:38:43
3321
4
原创 Tesseract-OCR字库制作
安装:url:https://tesseract-ocr.github.io/tessdoc/Home.html下载网址:V5.00--->WIN32,WIN64 依赖:JDK -->https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html jTessBoxEditor:Download 直接双击trian.bat即可启动...
2020-08-07 23:10:09
511
原创 J1939 Off-Board Diagnostic Connector(非车载诊断连接器)
Pin A Battery (–)Pin B Battery (+) Unswitched - with Unconditioned 10 A fusePin C CAN_H Tractor Bus ---->vehicle CAN busPin D CAN_L Tractor BusPinE CAN_SHLD (for SAE J1939/11) or No Connection (for ISO 11783-2)Pin F SAE J1708 (+)Pin G...
2020-07-10 15:34:02
1620
1
原创 Python GUI之Tkinter入门模板
import tkinter as tkfrom tkinter import ttkfrom WebHelp import *import collectionsfrom threading import Threadimport timefrom htmlbs import *class MainWindows(tk.Tk): TREESIZE = 30 QUEDELAY = 30 b_continueget = True __wh = '' .
2020-07-07 11:18:45
1384
原创 ROS学习笔记(二)---Beginner Level常用操作
ROS学习笔记(二)---Beginner Level初学ROS做的笔记,权当备忘录1.安装并配置ROS环境1.1安装1.2 管理环境1.3 创建ROS空间2.ROS文件系统介绍3.创建并编译ROS程序包3.1 创建新的ROS package3.2编译package4.理解ROS节点和话题4.1图的概念4.2节点4.3客户端库4.4 roscore4.5使用rosnode4.6使用rosrun5.理解ROS服务和参数5.1 ROS Services5.2 Using rosparam6. 使用rqt_con
2020-06-30 20:05:36
873
1
原创 ROS学习笔记(一)---beginner level问题
roscd beginner_tutorials 时提示beginner_tutorials不是一个package解决:在ros_workspace[实际路径]下再次source ./devel/setup.hrosmsg show Num 时提示could not find msg Num解决:export ROS_PACKAGE_PATH=~/catkin_ws/src/tutorials:$ROS_PACKAGE_PAT~/catkin_ws/src/tutorials为自己packag.
2020-06-26 23:28:52
465
原创 Ubuntu16安装指定版本的Cmake
编译&&安装通过下面的指令卸载默认的版本sudo apt remove --purge --auto-remove cmake#orsudo apt purge --auto-remove cmake到cmake官网下载指定版本Cmake offical site,可以通过一下脚本搞定version=3.17build=3mkdir ~/tempcd ~/tempwget https://cmake.org/files/v$version/cmake-$versi
2020-06-24 23:53:58
2299
原创 CAN chip error counter 规则
根据CAN协议的规定,在CAN节点内,有两个计数器:发送错误计数器(TEC)和接收错误计数器(REC)。这两个计数器计得不是收发报文的数量,也不是收发错误帧的数量。TEC和RCE计数值的变化,是根据下表的规定来进行的...
2020-06-10 10:18:24
1967
原创 CAN总线error frame
出现error frame的情况有以下几种: √ 位错误(Bit Check Error)发送器在发送比特流的同时也对发出的比特流采样回收,若送出的bit与所期待的bit不合,则会检测到一个Bit Check Error;√ 位填充错误(Bit Stuff Error)在需要执行位编码规则的位流序列中检测到第6个连续的极性相同的位序流时,则检测到一个Bit Stuff Error;√ CRC 错误(CRC Error)发送端送出的CRC序...
2020-06-10 10:13:52
4539
1
原创 C++ Template之多自定义参数实例化
简单写个示例:【VS2012编译运行通过】头文件,定义一个类模板(含有虚函数)和需要用到的实例化参数类#ifndef _PEOPLE_H#define _PEOPLE_H#include <iostream>using namespace std;class pq1;class pq2;template<class T,class D>class people{public: T age; people() {} ~people()
2020-06-09 10:20:35
668
原创 Git 之常用设置
用户设置git config --global user.name "FNR_S" git config --global user.email QQ@QQ.com git config --global credential.helper manager推荐设置:# make an alias for "long listing" (double lower Case L): git config --global alias.ll "log --oneline --decora
2020-05-18 14:54:27
210
原创 VS2013 go to definition(转到定义)失效的解决方法
通常遇到这种情况,在关闭VS的时候还会有一个弹窗提示sql server compact4.0没有安装。我是两步解决的。首先,第一步安装它提示个这个包,下载地址Download sql server compact4.0下载好按照提示一步一步走完。然后第二部,比较重要,在vs2013里面更改一项设置,将Always Use Fallback Location改为true具体设置路径...
2020-03-31 17:12:19
2159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人