自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gege_hxg的博客

不是天才就要勤奋、总结、积累!

  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 WiFi 包分析参考

WIfI包分析指导

2023-01-10 21:32:32 961

原创 WiFi 基础知识-基础概念

wifi基础知识理解

2022-07-02 18:40:34 881

原创 wiFI基础知识----wpa_supplicant

wpa_supplicant 学习:wpa_supplicant.c wpa_supplicant_init_iface() 根据配置文件初始化interface

2022-04-30 07:50:38 5185

原创 LINUX调试常用方法

memory 调试方法:每1s 打印当前free 空间:while true; do free; sleep 1; done &

2022-04-28 16:55:10 339

转载 WiFi----Wireshark抓包及分析说明

wireshark 抓包使用手册Wireshark 概述Wireshark 软件是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包的详细信息。 通常在开发测试,问题处理中会使用该工具定位问题。Wireshark 工具介绍:2.1 Wireshark 界面介绍注:说明:数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏View --> Coloring Rules。如下所示2.1.1 过滤栏Display Filter(显示过滤器), 用于设置过滤

2022-04-25 11:07:40 7908

原创 wifi 性能测试指导

Wifi 性能测试工具下载地址:wifi 性能测试可以使用iperf 工具完成, 工具下载地址参考如下网址:iPerf 工具下载

2022-04-25 11:06:11 1256

原创 Linux 内核相关

内核make menuconfig * 和m的区别:在menuconfig中选择m和 *的区别:*: 模块驱动编译到内核中,启动时自动加载M:标识作为内核模块编译空格:表示该功能不编译到内核中,即新的内核将不支持该功能。m:模块会被编译,但是不会被编译到内核中,只是生成.o文件,我们可以收集这些.o文件做到linux的文件系统中,然后用insmod实现动态加载...

2022-04-22 10:37:26 241

原创 xshell基本使用

新建ssh 连接:

2022-04-20 11:39:28 53

原创 Linux 源码编译学习记录

Linux 源码编译安装中的–prefix 参数:在实际的安装过程中,我们可以增加–prefix参数,这样可以将要安装的应用安装到指定的目录中。 具体参考如下:参考网址:–prefix 参数

2022-03-31 10:32:38 988

原创 Makefile 学习总结

Makefile 中:= , ?=,+= ,= 的区别:= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值= 和:=的区别是:= 表示:make 将整个makefile 展开后,再决定变量的值。变量的值是整个makefile 最后被指定的值。 x = foo y = $(x) bar x = xyz //在上例中,y的值将会是 xyz bar ,而不是 foo bar := 表示变量的值决定于它在ma

2022-03-18 12:56:47 157

原创 C++编程常用规范记录

头文件定义使用:#ifndef xxx_H#define xxx_H #include xxxx using namespace xxx_1; namespace xxx_2 { class A{}; class B{}; }#endif

2022-02-16 10:59:12 283

原创 Linux 常用命令记录

Linux 下Souce 指令:Souce fileName : 该指令只是读取fileName 文件中的内容,并执行对应的指令。不会创建新的子进程。sh fileName: 会创建新的进程,并且参数变化只会运用到子shell 中,不会返回父shell./fileName : 执行当前目录下的fileName 中的内容。举例说明:指向一个文件,然后修改某个环境变量export $xxx=1 ,使用sh fileName 执行的,查看xxx 变量无变化。 使用source FileName 的

2022-02-14 11:23:06 459

原创 《网络编程一》

文章目录网络编程学习(1)整体框架:1. 同一网络通讯模型:2. 不同网路通讯模型:3. OSI 模型及网际层:常用协议介绍:协议整体框架:TCP 协议介绍:TCP 三次握手:TCP 4次挥手TCP 分节及TIME_WAIT 状态理解:TCP 输出理解:TCP 编程常用函数:1. socket 函数:2. connect 函数:3. bind 函数:4. listen 函数:5. accept 函数:6.close函数:7.getsockname 和getpeername 函数:8. select 函数:9

2022-02-07 13:25:21 1487

原创 WIFI常用debug 说明

83xx WiFi 常用debug:查看ap 配置参数: $: cat /media/flash/nvm/softap.conf查看驱动版本信息:$: cat /proc/net/rtlxxx/drv_cfg 驱动配置参数会记载相关版本信息;

2021-12-21 15:23:25 684

原创 《Linux 高级编程》

文章目录linux 常用工具简介:tar打包器---解压缩指令:常用命令:可执行文件查看(代码段,数据段,bss段):堆和栈的区别:常见内存错误说明:内存分配相关理解:1.内存分配方式:2.动态分配常用函数及说明:2.1 malloc & free:2.2 realloc:2.3 calloc():2.4 alloca ():3 内存常用管理函数:3.1 memcpy():3.2 memmove():3.3 memset():3.4 memchr()3.5 memcmp():《Linux 高级程序

2021-11-30 11:19:17 2218

原创 Qt 重要类说明

1.Qobject 类说明:参考网址:Qobject 相关介绍

2021-11-19 13:47:51 564

原创 Linux中stdin & stdout & stderr的保护方法说明

前言:我们知道linux 中fd=0 表示标准输入stdin,fd=1 表示标准输出stdout,fd=2 表示标准错误stderr。当某一程序运行时,避免fd(0,1,2)被使用,通常需要写一段保护stdin & stdout & stderr 的代码。保护stdin,stdout,stderr 的方法示例:先利用for/while 循环,先把fd (0,1,2)分配出去,这样后面就不会再打开stdin/stdout/stderr. 举例如下:void fd_workaround

2021-11-16 14:45:48 1187

原创 C++基础之事件处理函数介绍(CreatEvent() /WaitForSingleObject):

1.事件函数之CreatEvent() :函数格式:HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD BOOL bManualReset, // reset type BOOL bInitialState, // initial state LPCTSTR lpName

2021-11-16 10:22:47 1210

原创 Linux日志输出相关函数说明

1.openlog() 函数介绍:函数格式:#include<syslog.h>void openlog (char*ident,int option ,int facility);函数作用:该函数用于打开一个向系统日志记录程序的一个连接,打开该连接后就可以通过syslog()或Vsyslog()向系统中添加日志信息。参数介绍:ident参数介绍用来表识哪个程序的log 输出,通常定位为程序名称。如wpa_supplicant。如果该参数为NULL 则默认使用程序名称。

2021-11-11 18:15:34 1433

原创 C++基础(二)常用函数总结说明

C++/C 中strdup() 函数介绍:函数格式:char* strdup(const char* src); 函数作用:将src 字符串进行拷贝返回用法举例:#include <stdio.h>#include <string.h>int main() { char inp[] = "Hello test1"; char* output = strdup(inp); printf("Input: %s\n", inp); print

2021-11-11 16:57:25 275

原创 C++ 基础之文件相关操作函数fopen/

fopen 函数介绍:格式:FILE *fopen(const char *filename, const char *mode)作用:按照指定模式打开某文件,如a 表示追加写入打开。参考网址:fopen 函数详解网址

2021-11-08 14:47:40 182

原创 C++基础之getopt()和getopt_long() 用法:

简介:#include <getopt.h>getopt 被用来解析命令行选项参数,不用自己写代码处理argv。其中比较重要的函数是getopt()和getopt_long().main(int argc, char* argv[]), C程序启动代码调用main()时,会对命令行进行处理,argc 参数计数,argv包含执行参数的指针数组。1. 函数-getopt() 说明:getopt(int argc, char* argv[],const char *optstr

2021-11-08 11:18:07 1439

原创 WIFI------------QOS 理解:

WIFI------------QOS 理解:参考网址:QOS 基本概念理解

2021-11-03 14:43:25 4664

原创 git 常用命令:

git 常用命令:git init: 初始化一个git, 然后可以使用git 指令。 一般开发中已经完成,日常会很少使用。git clone: 从现有的git repository 拷贝一份git config: 修改git 的配置,通常是用户名称,或邮箱地址:**配置种类:**system : /etc/.gitconfig ; global: ~/.gitconfig; local: .git/gitconfig常用配置指令:git config --global user.n

2021-10-18 11:40:22 216

原创 C++ 语言基础(一)基本结构和指针及一些常用用法

文章目录1. 强制类型转换2. 字符数组中sizeof() 和strlen()3. cin 中getline() 和get() 介绍:4. string 类介绍:5.结构体,结构体数组,枚举结构体定义和初始化:结构体数组枚举enum测试用例:6. 指针介绍:指针声明和初始化:new & delete 介绍:指针和数组指针和字符串:指针和结构体:7. 自动存储,静态存储,动态存储C++ 基础知识1. 强制类型转换(typename) valuetypename (value)st

2021-09-28 20:48:11 187

原创 netlink(2)- rtnetlink

netlink(2)- rtnetlink:rtnetlink 介绍:当创建socket时, 协议类型参数选择的是NETLINK_ROUTE, 得到的socket是rtnetlink_socket, 需要使用到rtnetlink.​ 所有rtnetlink 消息都包含一个netlink消息头和附加属性,rtnetlink 中定义的一组宏就是用于操作这些属性所用。​ rtnetlink 除了标准的netlink消息外还包含其它消息类型(如RTM_NEWLINK), 不同的消息对应的附加属性会有差异,后

2021-09-24 18:23:41 3239

原创 netlink(1)_socket及netlink 相关宏

1.基础概念:内核空间:Linux 系统包含内核空间和用户空间,一般将比较重要的内容放置内核空间运行。用户空间:把GUI ,管理,控制程序放置用户空间运行。IPC: 内核空间和用户空间之间需要进行通信,如何通信呢?这就需要IPC. 常用的IPC 有ioctl,系统调用,netlink socket.2. netlink socket 基本原理:netlink socket 是IPC 中的一种,是一种异步通信机制。发送的消息只暂存在socket 接收缓存中,不需要等待接收者立即处理。使用netl

2021-09-22 19:45:41 1567

原创 Linux 阻塞非阻塞介绍 NONBLOCK--非阻塞标志

Linux 阻塞/非阻塞介绍 NONBLOCK–非阻塞标志阻塞操作:当执行设备操作时:当设备无法立刻满足用户的读写操作时,直接将进程挂起,挂起的进程进入休眠状态,并从调度器的运行队列中移走。直到满足可操作的条件后唤醒进程,重新执行操作。举例:在阻塞型驱动程序中,如果调用read, 但设备无数据或数据不足时,进程阻塞,当数据充足时,唤醒阻塞进程。非阻塞操作:Linux 中一切皆文件,阻塞方式是文件读写操作的默认方式。 但可以使用O_NONBLOCK 标志人为设置读写操作为非阻塞方式(可以使用fc

2021-09-18 13:50:13 1473

原创 poll() & struct pollfd &event 介绍

poll() & struct pollfd &event 介绍struct pollfd 介绍:结构介绍:struct pollfd{ int fd; /*文件描述符,如建立socket后获取的fd, 此处表示想查询的文件描述符*/ short events; /*等待的事件,就是要监测的感兴趣的事情*/ short revents; /*实际发生了的事情*/};poll() 函数介绍简要说明:poll() 函数是linux 中的字符设备驱动中的一个

2021-09-17 14:08:09 4773

原创 创建线程:pthread_creat() 函数介绍

创建线程:pthread_creat() 函数介绍语法 :int pthread_creat(pthread_t *thread, const pthread_attr_t *attr, void *(*thread_routine)(void *), void *arg)参数介绍:*pthread_t thread: pthread_t 表示线程的数据类型,实际上是void * 类型。

2021-09-16 17:28:49 343

转载 C++函数参数中何时使用引用,何时使用指针,何时按值传递

何时使用引用参数 使用引用参数的主要原因有两个: 1. 程序员能够修改调用函数中的数据对象。 2. 通过传递引用而不是整个数据对象,可以提高程序的运行速度。 什么时候使用指针?什么时候使用引用?什么时候应该按值传递? 只使用传递过来的值,而不对值进行修改需要修改传递过来的值内置...

2021-09-15 14:53:41 665

转载 2021-09-15 C++ 继承和多态(虚函数,纯虚函数,虚继承)

C++继承和多态(虚函数、纯虚函数、虚继承)   一:继承 继承的概念:为了代码的复用,保留基类的原始结构,并添加派生类的新成员。 继承的本质:代码复用 我们用下图解释下:   那么我们这里就可以提出几个问题了: ①:进程的方式有哪些呢? 这里有三种继承方式: public:任意位置可以访问protected:只允许本类类中以及子类类中访问private:只允许...

2021-09-15 14:28:45 436

转载 2021-09-15 Linux 文件描述符

目录 1、从一个最常见的例子说起 2、Linux中的文件描述符(file descriptor) 3、Linux上打开文件举例 4、C语言中文件描述符的使用 5、Python中文件描述符的使用 6、Linux配置系统最大打开文件描述符个数 7、参考链接 1、从一个最常见的例子说起 在使用Linux的过程中, 我们平时经常看到下面这样的用法: echo log > /dev/null 2&...

2021-09-15 10:45:45 205

WiFi 性能验收,使用iperf 测试WiFi CP/WiFi AA/STATION/P2P 指令和方法

WiFi 性能验收。

2022-07-05

创建线程:pthread_creat() 函数介绍.md

主要介绍pthread_cread() 的介绍,便于自己学习和回顾。 如有错误欢迎指出。

2021-09-16

空空如也

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

TA关注的人

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