自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (1)
  • 收藏
  • 关注

原创 nmap getting started 网络扫描工具安全加固工具

Nmap(Network Mapper)是一款用于网络发现和安全审计的强大工具。它可以帮助你识别网络上的主机、服务和开放端口,并提供关于它们的详细信息。基本扫描扫描多个主机指定端口范围服务和版本探测Nmap可以识别正在运行的服务和它们的版本信息。你可以使用-sV选项来启用服务和版本探测。操作系统检测Nmap可以尝试识别目标主机的操作系统。你可以使用-O选项来进行操作系统检测。脚本扫描Nmap提供了一系列预置的脚本,可以用于执行更深入的审计和攻击。

2024-04-21 11:38:29 219

原创 VIM插件安装与配置

在某些情况下只能用vim编辑器,而没有类似vscode的图形化界面,为vim配置一系列插件即可方便的在vim下编程建议用vscode,经过一番折腾,发现还是vscode好用。

2024-04-21 11:38:00 290

原创 C/C++编译问题,摆脱编译时的动态库依赖

在编译程序时,考虑如下场景:代码中使用到了A库的函数,此外再无其它依赖库。但是,A库中使用了B库的函数,B库依赖C库,C库依赖D库。因此在编译可执行文件时,需要找到ABCD,并指定库的路径,在链接时才不会爆出找不到某个定义的错误。如果在交叉编译时A库的依赖项高达几十甚至更多个,会让编译变得非常麻烦,需要指定每个库的位置和库名,有些情况可能需要给库添加软链。有没有什么方法在编译时不需要指定依赖?在编译可执行文件时,需要找到所有已使用符号的定义,如果该符号在动态库中就需要指定动态库;

2024-03-17 17:07:49 1197

原创 Linux运维相关基础知识

终端仿真器/终端仿真程序虚拟控制台tty1(桌面环境 gnome等) | tty2 | tty3 …分区(分区表,GPT等)物理磁盘Linux系统拥有很高的灵活性和自由度,系统启动后首先进入桌面环境(例如Ubuntu默认进入gnome,用户可更换其他桌面)或者tty(虚拟终端)。当进入桌面环境后可启动终端仿真器(用户可自行更换),终端仿真器会启动默认的shell(Ubuntu默认bash,用户可自行更换)。

2024-03-17 17:07:26 866

原创 riscv简单常用汇编指令xv6

riscv在目录下,执行make qemu-gdb ,进程会阻塞.另开一个终端,在目录下,执行gdb-multiarch kernel/kernel进入gdb后 b _entry将断点打在最开始处退出qemu:用户态执行#include "syscall.h"# execinit , 0 };init , 0 };init , 0 };init , 0 };init , 0 };;init , 0 };init , 0 };init , 0 };

2024-03-10 18:33:49 1036

原创 what?

作文三则

2024-03-10 18:32:37 712

原创 boost.asio使用简介

The Boost.Asio库是为使用C++进行系统编程的程序员设计的,在系统编程中,通常需要访问操作系统功能(如网络)。特别是Boost。便携性。该库应支持一系列常用的操作系统,并在这些操作系统之间提供一致的行为。可扩展性。该库应促进可扩展到数千个并发连接的网络应用程序的开发。每个操作系统的库实现都应该使用最能实现这种可伸缩性的机制。效率该库应支持分散采集I/O等技术,并允许程序最大限度地减少数据复制。从已建立的API(如BSD套接字)中建模概念。

2024-03-09 21:53:10 983

原创 各种实用配置,代理,修改源

二、python包下载设置代理指定下载源清华源:豆瓣源:设置超时离线安装

2024-03-09 21:52:28 511

原创 Python调用C,python call c,pybind11

通过项目实现Python调用C/C++代码实现步骤。

2024-03-03 21:01:51 510

原创 jmeter快速使用

Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications.It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance un

2024-03-03 21:00:38 605

原创 mongoose httpserver webcommand

在mongoose http server的基础上允许在URL栏输入command,返回输出结果eg:ls其中为关键字代表之后的为要执行的命令256。

2024-02-24 23:43:24 578

原创 mongoose httpserver浅析

mongoose是一款基于C/C++的网络库,可以实现TCP, UDP, HTTP, WebSocket, MQTT通讯。mongoose是的嵌入式网络程序更快、健壮,易于实现。mongoose只有mongoose.c和mongoose.h两个文件,其它的例子基本是基于这两个文件加上对应的xxx.c文件。mongoose.ws/documentation/介绍了mongoose.h文件中的API。它通过单向链表维护所有连接的client对象,其数据结构不是线程安全的。

2024-02-24 23:42:38 1218

原创 cJSON简析

其中object和array中的value都可以嵌套。json是一种文本格式的协议。对于人的可阅读性非常好。每个节点的数据结构如下。

2023-12-26 22:27:28 420

原创 base64编码,C语言实现

base64是一种编码方案,将二进制字节流编码成可显示字符,其中可显示字符有64种,如下表所示。在http头,JSON等格式中,要求必须为可显示字符,如果想将二进制字节流加入http头或JSON中可将其用base64转换成字符后加入到协议中。

2023-12-26 22:26:55 524

原创 异步I/O操作函数aio_xxx函数

POXSIX提供了用于异步I/O的"aio_xxx"函数集。名称功能aio_read异步readaio_write异步writeaio_fsync异步fsyncaio_error获取错误状态aio_return获取返回值aio_cancel请求取消请求等待。

2023-12-02 21:42:25 450

原创 Linux程序设计(下)

Linux进程表就像一个数据结构,它把当前加载在内存中的所有进程的有关信息保存在一个表中,其中包括进程的PID、进程的状态、命令字符串和其它一些ps命令输出的各类信息。进程表的长度是有限制的,所以操作系统能够支持的同时运行的进程数也是有限制的,如今可同时运行的进程数可能只与用于建立进程表项的内存容量有关。在Linux系统中,PR值指的是进程的优先级。Autoconf解决了系统特使构建和运行时信息的难题,但在软件开发时还有更多的难题,GNU构建系统是为了更好的开发软件而开发的一套完整的公益事业。

2023-12-02 21:41:49 1071

原创 c语言实现简单的string

在c语言中利用面向对象的编程方式,实现类似c++中的string类。虽然可以利用面向对象的思想实现类似的c++中的string类,但是由于受到c语言语法的限制,不能像写c++一样写C,如析构函数必须显示写出。

2023-11-25 21:06:52 525

原创 Linux程序设计(上)

通用许可证(GPL)条款下发布的一些主要GNU项目软件:通过以上一些列的可用的自由软件+Linux kernel,可以说:创建一个GNU的、自由的类UNIX系统的目标已经通过Linux系统实现了。Linux内核+一系列工具程序=Linux发行版POSIX:POSIX(Portable, Operating System Interface)是基于UNIX或类UNIX操作系统的一系列操作系统接口标准。标准定义了常用接口(open, write…)和通用工具(cd, ls…)。POSIX在源代码级别支持应用程

2023-11-20 22:03:25 212

原创 c++并发编程/多线程 thread 库

/ 即使函数的形参是引用类型也会发生拷贝构造,除非:// 这样value对象就是主线程中的对象。

2023-11-20 22:02:03 165

原创 CMake

CMakeake是什么,是用来做什么的,以及如何?cmake是一个用于管理和构建源代码的工具。cmake广泛应用于编译C/C++代码,其实也可以用于编译其他语言。cmake可实现跨平台构建、编译c/c++源码。cmake除了用于编译外还提供了ctest, cpack用于测试,安装或打包。第一章适用于新手,在不了解cmake语言的情况下可快速构建自己的项目CMake中使用set和unset命令设置或者取消设置变量一般变量。

2023-10-23 22:16:02 466

原创 Valgrind——c/c++内存检测工具

Valgrind 是一个用于构建动态分析工具的检测框架。Valgrind包含了可以自动检测多种内存管理和线程错误的工具,并对程序进行详细的分析。而且,还可以使用Valgrind来构建新工具。

2023-10-21 09:28:43 186

原创 操作系统相关杂项

fty func;return -1;

2023-09-29 08:34:05 78

原创 GNU-ncurses库简介

ncurses是一个管理应用程序在字符终端显示的函数库。它提供了移动光标,建立窗口,产生颜色,处理鼠标操作等功能。ncurses提供的是字符用户界面,而非图形用户界面。

2023-09-20 22:30:39 571

原创 c++新标准11~17等

{初始化列表},可用于所有的内置类型和用户定义的类型,可添加=也可不加。// = {3.4} 报错 double y = {2.35 };double w;1 , 3.45 };1 , 3.45 };如果有类将模板std::initializer_list作为参数的构造函数,则只有该构造函数可以使用列表初始化形式STL容器提供了将initializer_list作为参数的构造函数。

2023-07-02 15:28:18 179

原创 操作系统概述(二、入门,基础,计算机系统)

软件和硬件的桥梁操作系统的加载和初始化AbstractMachine代码导读__LabOS- 熟悉代码框架- 多处理器上的kalloc/free- 中断和异常驱动的上下文(线程)切换- 虚拟地址空间、用户态进程和系统调用- 虚拟文件系统。devfs, procfs, 简单的文件系统;ELF加载器如果一个人在未经训练的情况下就能把某件事情做的很好,证明他在某件事情上很有“天赋”,但是和接受过专业训练的人依然存在不小的差距。

2023-06-24 22:29:52 390

原创 c++输入输出文件操作stream

c++程序把输入和输出看作字节流。输入时,程序从输入流中抽取字节:输出时,程序将字节流插入到输出流中。一般输入和输出都有缓冲区。C++程序通常在用户按下回车键时刷新输入缓冲区。cin: 标准输入流cout: 标准输出流如果输出被重定向到文件,则标准错误流依然会被输出到屏幕cerr: 标准错误流,无缓冲区clog: 标准错误流,有缓冲区coutostream类将输出转化为字符字节流put() 显示字符write() 显示字符串将val内存中的数据作为字节字符输出到屏幕输出缓冲区。

2023-05-27 20:50:13 2464

原创 操作系统概述(一、并发)

操作系统广义上讲可以是…非常广这里只讨论狭义上的操作系统,如Windows、Linux操作系统是负责管理软硬件资源,为应用程序和用户提供服务的 系统的 大型 软件。所以说,操作系统和普通的软件没有本质区别,只不过它会直接操纵硬件资源;当程序员想要申请128byte的内存空间时,只需要调用通过系统提供的API即可,而不是自行编写申请内存空间的程序,所以说操作系统为程序和用户提供服务。生产者消费者模型还得是信号量(还是要具体问题具体分析)自旋锁 -> 互斥锁 -> 条件变量 -> 信号量。

2023-05-07 10:11:37 489

原创 GDB调试gdb

启动程序,可以按照自定义的要求随心所欲的运行程序可以让被调试的程序在所指定的断点处停住(断点可以是条件表达式)当程序被停住时,可以检查此时程序中所发生的的事可以改变程序,讲一个BUG产生的影响修正从而测试其他BUG带有动态库的程序如何调试?多线程如何调试?

2023-04-25 22:29:38 1056 1

原创 C/C++混用情况解决 编译问题

无。

2023-04-20 23:09:37 233

原创 MyString 类 构造函数 对象行为 设计模式 单例模式

记录不同行为的拷贝与构造情况。略。

2023-04-16 10:41:06 330 1

原创 A a(std::string (ch) );

不要写奇奇怪怪的语法就是了。

2023-04-10 20:19:29 55

原创 车辆运动学与动力学建模

车辆运动学与动力学建模。

2023-04-02 22:35:52 1143 1

原创 矩阵求导简介

提示:本文简要介绍矩阵求导方面的知识标量函数的求导读者应该非常熟悉了。假设fxf(x)fx对xxx求导,那么将得到dfdxdxdf​这样一个导数,显然它仍然是一个标量。然后下面分别介绍当xxx为向量或者fff为向量函数的情况。提示:以下是本篇文章正文内容,可供参考。

2023-04-02 22:34:23 262

原创 c++ plus复习(二)

对于静态类成员,可以在类声明之外使用单独的语句来进行初始化,这是因为静态类成员是单独存储的,而不是对象的组成部分。C++函数的作用域可以是整个类或整个命名空间(包括全局的),但不能是局部的(因为不能在代码块内定义函数,如果函数的作用域为局部,则只能对它自己是可见的,因此不能被其他函数调用。这样的函数将无法运行)。初始化是在方法文件中,而不是在类声明文件中进行的,因为类声明位于头文件中,程序可能将头文件包括在其他几个文件中。声明类指是描述了对象的形式,并没有创建对象,在创建对象前,将没有用于存储值的空间。

2023-04-02 19:18:11 353

原创 μC/OS - III

μC/OS - III是什么?它是一个可裁减、可固化、可剥夺型的实时内核,管理任务的数目不受限。可提供现代实时内核所能提供的所有服务,如资源管理、任务间同步、任务间通讯等,在如,在系统运行时做性能测试,向任务直接发信号量或消息,以及同时等待多个内核对象等。实时系统:硬实时和软实时。

2023-03-29 19:21:16 308

原创 卡尔曼滤波浅析

Kalman Filter算法,是一种递推预测滤波算法,算法中涉及到滤波,也涉及到对下一时刻数据的预测。Kalman Filter 由一系列递归数学公式描述。它提供了一种高效可计算的方法来估计过程的状态,并使估计均方误差最小。卡尔曼滤波器应用广泛且功能强大:它可以估计信号的过去和当前状态,甚至能估计将来的状态,即使并不知道模型的确切性质。Kalman Filter 只能减小均值为0的测量噪声带来的影响。只要噪声期望为0,那么不管方差多大,只要迭代次数足够多,那效果都很好。

2023-03-26 22:05:32 630 2

原创 c++ plus复习(一)

C++数类型分为基本类型和复合类型。基本类型分为整形和浮点型,复合类型如数组、指针、结构体等。

2023-03-19 21:16:11 283

原创 simulink stateflow 状态机

在tooltrip中选择DEBUG,通过Animation Speed可更改动画的播放速度。添加状态机的快捷操作transition上的数字代表执行顺序,选中transition后在toolstrip -> Execution Order可更改执行顺序在transition上可进行的操作下图的状态机中junction不属于状态,只负责条件的跳转,可用于实现类似if-else的结构after(N, sec)为EventNameDefault transition不能有任何的。

2023-03-07 20:43:54 6290

原创 simulink PID控制

将非线性系统近似线性化PIDblock与微调提示:以下是本篇文章正文内容,下面案例可供参考。

2023-03-04 17:48:51 1017

原创 matlab基础

> save filename . mat % 将当前工作区的所有变量保存为mat文件 > > load filename . mat % 加载文件 > > load filename variable % 只加载filename.mat中的某一variable > > save filename variable % 只把某个variable变量保存在filename.mat中 > > format long > > format short % 切换在command中的显示精度矩阵操作3;

2023-03-02 23:06:43 267

zlib, example

zlib.h zpipe.c example of proper use of zlib's inflate() and deflate()

2023-08-09

simulink stateflow 状态机 八、案例-吸尘器机器人的驱动模式

simulink stateflow 状态机 八、案例——吸尘器机器人的驱动模式

2023-03-07

c++运算符优先级,word版本表格

本资源没有描述,c++运算符优先级,word版本表格。

2022-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除