自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 keil5注册机安装失败--显示有病毒,无法下载

打开windows安全中心----病毒和威胁防护---实时保护(关闭),排除项,添加或删除排除项(把下载的压缩包添加到里面),再重新解压就能看到注册机了。下载Microsoft Defender SmartScreen 已阻止此不安全最新注册机.zip 文件。

2024-06-29 16:18:43 658

原创 使用shell脚本从ifconfig命令结果中提取IP地址

是一个在 Linux 或 Unix 系统中常用的命令,用于对文件内容进行模式(pattern)匹配。:匹配一个 IP 地址,其由四部分组成,每部分是 1 到 3 位数字,并且每部分之后都有一个点(只输出匹配的部分,所以我们需要使用一对括号。参数表示仅输出与模式匹配的部分,将整个 IP 地址作为一个整体。表示使用扩展的正则表达式。

2024-04-28 14:14:38 506

原创 关于宏的带有#和##

str的内容就是"test_string",也就是说#会把其后的符号。宏被展开后将成为:int INT_1;

2024-03-14 15:41:01 374

原创 mysql教程

如果连接成功,返回MYSQL*连接句柄。如果连接失败,返回NULL。对于成功的连接,返回值与第1个参数的值相同。参数: mysql mysql的实例。query 查询语句字符串。参数:mysql 前面一个函数的返回的mysql实例句柄。host 要连接的数据库的主机,可以是ip地址或主机名。port mysql的tcp/ip端口默认是3306。unix_socket 表示连接类型。user 表示登录数据库的用户名。返回值: 成功返回0,失败返回非0。passwd 登录的密码。db 就是访问的数据库。

2024-03-14 14:10:08 381 1

原创 tcpdump使用

【代码】tcpdump使用。

2023-12-21 23:42:47 72

原创 qt lineedit 输入格式限制

\d?\\d)(\\.(?\\d?

2023-12-19 14:13:32 712 1

原创 c语言小记

首先,要了解(*a).b 等价于 a->b。概念上:一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。

2023-12-08 16:02:40 81

原创 linux文本替换

在全局范围(s前的作用范围无内容)查找cat并替换为dog,作用范围内每一行出现的不仅第一个目标,而是所有目标都会被替换(g)。此处因为点号“.”为特殊匹配符,在正则中表示单个字符,所以如果想匹配点号,就需要把“\”放在点号前面,表示取消点号的特殊意义。针对光标当前所在行进行替换并且它只替换当前行中第一个匹配到的 abc。# 在输出或打印中,替换字符串。会在全局范围(%)查找ok并替换为ng。,作用范围内出现的目标都会被替换(g)。(substitute)为查找替换命令。# 替换字符串,并更改原文件内容。

2023-12-08 09:40:14 682

原创 动态库链接到可执行文件

这里的 -L/path/to/library 表示动态库 libexample.so 存储在 /path/to/library 目录中,-lexample 表示链接 libexample.so 动态库。编译可执行文件代码时,需要使用编译器的 -L 参数指定动态库文件的搜索路径,使用 -l 参数指定要链接的动态库的名称。这里的 /path/to/library 是动态库所在的路径,$LD_LIBRARY_PATH 是原来的动态库搜索路径,通过添加新的路径使得动态库可以被找到并加载。

2023-12-07 15:07:10 142

原创 交叉编译环境搭建

【代码】交叉编译环境搭建。

2023-12-07 14:28:51 49 1

原创 Ubuntu虚拟机中遇到IP地址频繁变化

这里我使用的是 ens33 网卡,因此这里要修改的是 ens33 网卡(192.168.15.130是后面设置的,24位所以掩码是255.255.255.0)在Vmware中安装Ubuntu后(NAT方式),使用期间,IP地址会无规则变化(末位加1或减1),导致Xshell连接总是需要重新配置,为此将IP配置为固定IP,使该问题得到解决。通过DHCP设置,我们可以在起始地址和结束地址之间设置静态地址(我这里设置的是192.168.15.130)网卡 想要修改的网卡 ens33。

2023-12-06 22:46:35 1935 2

原创 openssl

OpenSSL是一个开源的代码库,它所实现的所有SSL相关功能都可以在C、C++语言中直接使用。OpenSSL具有以下优点:采用C语言开发,支持多种操作系统,可移植性好;功能全面,支持大部分主流密码算法、相关标准协议和SSL协议;开放源代码,应用者能很好地了解算法实现过程;具备应用程序(即OpenSSL指令),既可以直接使用,也可以进行二次开发;免费使用,能够用于商业和非商业。OpenSSL整个软件包主要分为三个部分:密码算法库、SSL协议库以及应用程序。

2023-09-01 18:01:02 368 1

原创 Linux命令详解

此时变量pfunc从一个变量的名字提升为了一个类型的名字,那么到底是什么类型呢?和声明变量时pfunc的类型(属性)相同,void (星)(int)这种类型的指针。声明一个指针,指针的类型是函数指针,指向一个返回值为void类型,参数为int的函数。不看typedef,只看后面声明变量void (*pfunc)(int);将typedef作用于void (*pfunc)(int)变量pfunc------->类型。变量名:指针pfunc。

2023-08-31 15:10:32 69

原创 C语言自带的比较函数与排序函数——fmax、qsort

​​(1)(自C99)(2)(自C99)(3)(自 C99)​​(4)(自C99)

2023-08-24 15:48:25 850 1

原创 index() && rindex()

【代码】index() && rindex()

2023-08-22 14:30:39 59 1

原创 strtok()函数

(3)需要注意的是,使用该函数进行字符串分割时,会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。第一次分割之后,原字符串str是分割完成之后的第一个字符串,剩余的字符串存储在一个静态变量中,因此多线程同时访问该静态变量时,则会出现错误。分解字符串为一组字符串。p为指针,buf也是指针,这句代码的意思就是把buf中的字符串以"$"为分隔符分割开来,分割出来的字符串保存到指针p中。需要注意的是,strtok函数会把分割前的字符串破坏掉,即每次分割后,原来的字符串就会少掉一部分,完整性会被破坏。

2023-08-22 14:11:49 54 1

原创 fork()虚拟地址--写时拷贝

页表,通过虚拟地址映射到页表中,再通过映射到页表中的位置再映射到物理内存中,从而找到相对应的数据。2、如果一个进程中存在一个野指针,会访问到另一个进程中的数据。实际上进程中访问的地址都是虚拟地址,而我们所说的程序地址空间实际上就是一个进程的虚拟地址空间。程序是不占用内存的,运行起来的程序才会被加载到内存,才会占用空间。1、进程中代码数据的使用都是连续的地址,若直接使用连续的物理内存会造成内存的浪费。是进程的虚拟地址空间,是操作系统为每个进程对于内存空间的虚拟描述,在。为什么不让进程直接去访问物理内存呢?

2023-08-19 15:39:35 76

原创 博客摘录「 Linux iptables命令详解」2023年6月26日

netfilter/iptables:IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables 组成。netfilter/iptables 关系:netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。

2023-08-19 15:03:45 143

转载 cJson

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。cJSON从名字可知,整个项目都是以极标准的C来写的,意思说,可以跨各种平台使用了。

2023-08-19 12:42:06 90

转载 qt 生成json对象与解析json数据

Qt5 中包含了处理 JSON 的类,均以 QJson 开头(例如:QJsonDocument、QJsonArray、QJsonObject),在 QtCore 模块中,不需要额外引入其它模块。

2023-08-18 16:53:27 1546 1

原创 TCP send()&&receive()/UDP sendto&&receivefrom

同步Socket的send函数的执行流程,当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲的长度(因为待发送数据是要copy到套接字s的发送缓冲区的,注意并不是send把s的发送缓冲中的数据传到连接的另一端的,而是协议传的,send仅仅是把buf中的数据copy到s的发送缓冲区的剩余空间里): 1.如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR;recv函数仅仅是copy数据,真正的接收数据是协议来完成的),recv函数返回其实际copy的字节数;

2023-08-15 15:40:40 540

原创 QT JSON 字符串操作(map解析与写入用法)

/读取json字符串。

2023-08-15 10:37:15 353

原创 下载ctags遇到的问题

ubuntu默认软件包管理器不是yum,而是dpkg,安装软件时用apt-get你说的网上常见法解决方法,命令改为代码:sudo apt-get install ctags。//nameserver 223.5.5.5 和 nameserver 223.6.6.6选择其中一个添加即可。登录root用户,用vim /etc/resolv.conf ,打开rsolv.conf,添加DNS地址。输入指令 /etc/init.d/networking restart。提示用兼容exberant-ctags。

2023-08-08 17:17:57 162

空空如也

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

TA关注的人

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