自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CodeAllen的技术博客

热爱软硬件编程/方法论/读书, IT咨询请公众号私信

  • 博客(89)
  • 资源 (10)
  • 论坛 (3)
  • 收藏
  • 关注

原创 【C++深度剖析学习总结】 22 类中的函数重载

1.函数重载回顾函数重载的本质为相互独立的不同函数C++中通过函数名和函数参数确定函数调用无法直接通过函数名得到重载函数的入口地址函数重载必然发生在同一个作用域中2.类中的重载类中的成员函数可以进行重载构造函数的重载普通成员函数的重载静态成员函数的重载问题:全局函数,普通成员函数以及静态成员函数之间是否可以构成重载?3.万变不离其宗1.重载函数的本质为多个不同的函数2.函数名和参数列表是唯一的表示3.函数重载必须发生在同一个作用域中 (类和..

2021-05-30 17:23:23 24

原创 VScode 5 显示文件大小插件(filesize)

filesize在左下角显示文件大小的插件,还是挺实用的

2021-05-30 17:09:24 321 1

原创 VScode 3 搭建Python学习环境

下载地址如下:Python:https://www.python.org/downloads/VScode:https://code.visualstudio.com/

2021-05-30 17:01:14 18

原创 VScode 4 括号颜色分级插件(Bracket Pair Colorizer)

Bracket Pair Colorizer可以用不同颜色区分出代码中的括号,对于括号很多的代码非常实用

2021-05-30 16:59:48 245

原创 0基础入门Python 0 开始学习Python

我主要的工作还是在嵌入式领域,C/C++是我的主力语言,之前是没接触过Python的,甚至汇编用的都比Python多但是最近因为想尝试改进工作中的一个工具,主要是对时间戳进行数据统计这个工作我用C语言也可以实现,但是代码量要大不少,而且最后因为要推广给测试人员使用,最好还是有界面带按钮的方式,这样的话我首先考虑的是C++,然后用QT做但是百度了一些我的这些需求,很多意见都是指向Python,原因就是代码量少,丰富的库函数,界面优美既然如此,也不是很着急,我决定要用Python尝试..

2021-05-29 23:52:25 24

原创 【C++深度剖析学习总结】 21 友元的的概念

在C++中,一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来介绍一种例外情况——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以及全局范围内的函数访问当前类的 private 成员。friend 的意思是朋友,或者说是好友,与好友的关系显然要比一般人亲密一些。我们会对好朋友敞开心扉,倾诉自己的秘密,而对一般人会谨言慎行,潜意识里就自我保护..

2021-05-29 23:23:03 47

原创 git blame 和git show commitID

git blame /path 查看文件中每行的提交信息(bao)git show commitID 查看本次commitID提交情况

2021-05-27 20:23:43 30 1

转载 21.如何伪造ARP响应?

正常情况下,向目标主机发送 ARP 请求,如果主机存在,将会得到一个 ARP 响应;如果主机不存在,将不会得到 AR P响应。伪造 ARP 响应是指伪造一个不存在的主机的 ARP 响应。例如,黑客在攻击局域网中的主机时,会扫描局域网中的所有主机,然后对发现的主机实施攻击。如果伪造了 ARP 响应包,会误导黑客以为扫描到的主机是存在的,从而起到了迷惑作用。伪造 ARP 响应需要使用 netwox 工具中编号为 73 的模块。【示例】以主机 A 为基础实施伪造 ARP 响应,伪造模拟主机 192.168.

2021-05-27 20:11:37 24

原创 1.vi工作模式(3种)以及模式切换(转换)

vi 编辑器是一个功能强大的编辑器。学习 vi 要从其基本工作模式开始学起。了解这些工作模式对用户理解 vi 编辑器的行为是不无裨益的。对于一些从图形界面中转入 vi 的开发者来说,了解 vi 的工作模式十分重要。本节将深入讨论 vi 编辑器的工作模式。vi 编辑器有 3 种基本工作模式,分别是命令模式、文本输入模式和末行模式。下面详 细介绍这 3 种模式。1) 命令行模式该模式是进入 vi 编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。在命令模式下,用户可

2021-05-25 02:07:31 303

转载 5.Makefile变量的定义和使用

变量对于我们来说是不陌生的,在学习各种编程语言时会经常用到。就拿C语言来说,变量的使用是十分常见的,变量可以用来保存一个值或者是使用变量进行运算操作。Makefile 中的变量也是这样,我们可以利用它来表示某些多处使用而又可能发生变化的内容,不仅可以节省重复修改的工作,还可以避免遗漏。变量的定义Makefile 文件中定义变量的基本语法如下:变量的名称=值列表Makefile 中的变量的使用其实非常的简单,因为它并没有像其它语言那样定义变量的时候需要使用数据类型。变量的名称可以由大小写.

2021-05-25 01:56:57 21

转载 4.Makefile通配符的使用

Makefile 是可以使用 shell 命令的,所以 shell 支持的通配符在 Makefile 中也是同样适用的。 shell 中使用的通配符有:"*","?","[...]"。具体看一下这些通配符的表示含义和具体的使用方法。通配符 使用说明 * 匹配0个或者是任意个字符 ? 匹配任意一个字符 [] 我们可以指定匹配的字符放在 "[]" 中 通配符可以出现在模式的规则中,也可以出现在命令中,详细的使用情况如下。实例 1:.PHONY:clean.

2021-05-25 01:54:15 34

转载 3.Makefile的工作流程

简单了解一下 Makefile 书写规则之后,再来深入研究一下 Makefile 的是怎样工作的?当我们在执行 make 条命令的时候,make 就会去当前文件下找要执行的编译规则,也就是 Makefile 文件。我们编写 Makefile 的时可以使用的文件的名称 "GNUmakefile" 、"makefile" 、"Makefile" ,make 执行时回去寻找 Makefile 文件,找文件的顺序也是这样的。我们推荐使用 Makefile(一般在工程中都这么写,大写的会比较的规范)。如果文件不存在

2021-05-25 01:52:23 25

转载 2.Makefile文件中包含哪些规则?

想要书写一个完整的 Makefile文件,需要了解 Makefile 的相关的书写规则。我们已经知道了 Makefile 描述的是文件编译的相关规则,它的规则主要是两个部分组成,分别是依赖的关系和执行的命令,其结构如下所示:targets : prerequisites command或者是targets : prerequisites; command command相关说明如下:targets:规则的目标,可以是 Object File(一般称它为中间文件),...

2021-05-25 01:50:31 151

转载 1.Makefile文件是什么?

我们教程主要是讲的是 Makefile 。很多 Linux(Unix) 做开发的初学者不了解 Makefile 是什么,甚至大部分 Windows 开发工程师对 Makefile 都特别陌生。这个其实很正常,如果你是在 Windows 下作开发的话不需要去考虑这个问题,因为 Windows 下的集成开发环境(IDE)已经内置了 Makefile,或者说会自动生成 Makefile,我们不用去手动编写。Linux 中却不能这样,需要我们去手动的完成这项工作。Linux 下可以学习的开发语言有很多,常见的有

2021-05-25 01:47:36 78

转载 20.基于ARP协议进行扫描

ARP 协议是根据目标主机的 IP 地址获取对应的 MAC 地址。如果目标主机存在,将返回 MAC 地址。利用这一点,用户可以基于 ARP 协议对目标主机进行扫描,来判断目标主机是否启用。扫描单一主机如果用户想判断一个主机是否启用,可以使用 netwox 工具中编号为 55 的模块对目标主机进行 ARP 协议扫描。【示例】判断主机 192.168.59.135 是否启用。1) 查看 netwox 所在主机的 IP 地址,执行命令如下:root@daxueba:~# ifconfig输

2021-05-25 01:41:01 33

转载 19.免费ARP详解

免费 ARP(Gratuitous ARP)包是一种特殊的 ARP 请求,它并非期待得到 IP 对应的 MAC 地址,而是当主机启动的时候,发送一个 Gratuitous ARP 请求,即请求自己的 IP 地址的 MAC 地址。免费 ARP 包的结构免费 ARP 报文与普通 ARP 请求报文的区别在于报文中的目标 IP 地址。普通 ARP 报文中的目标 IP 地址是其他主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。免费 ARP 的作用免费 ARP 数

2021-05-25 01:37:32 120

转载 18.ARP报文格式详解

ARP 协议包(ARP 报文)主要分为 ARP 请求包和 ARP 响应包,本节将介绍 ARP 协议包的格式。ARP 报文格式ARP 协议是通过报文进行工作的,ARP 报文格式如图所示。ARP 报文总长度为 28 字节,MAC 地址长度为 6 字节,IP 地址长度为 4 字节。其中,每个字段的含义如下。硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为 1。 协议类型:表示要映射的协议地址类型。它的值为 0x0800,表示 IP 地址。 硬件地址长度和协议长度:分别指出硬件地址

2021-05-25 01:34:33 126

原创 【大话数据结构C语言】71 排序方法总结

内排序和外排序根据排序记录是否全部被放置在内存中,将排序分为内排序和外排序两种,外排序需要在内存之间多次交换数据才能进行所以主要讨论的是内排序七种主要的排序方法(四类)指标对比从综合角度看,经过优化的快速排序是性能最好的排序算法,但是还是要根据不同的场景选择不同的算法开应对...

2021-05-23 22:33:04 44

原创 C语言数据结构与算法专栏目录

后序会开一个《嵌入式数据结构专栏》主要为了学习嵌入式的同学,软件能力提升和大厂面试能力,感谢大家关注!《C语言数据结构与算法》专栏已经更新完毕,共计72篇分享,后期会逐渐修改错误并添加内容0 数据之间的关系有哪些?1 如何度量一个算法的好坏?2 常见的时间复杂度实例3 什么是线性表?4 线性表的顺序存储结构5 线性表的链式存储结构6 单链表的整表创建和删除7 静态链表8 循环链表9 双向链表10 什么是栈?...

2021-05-23 22:15:20 67 2

原创 【大话数据结构C语言】70 快速排序

目录背景快速排序复杂度快速排序的优化背景快速排序是图灵奖获得者 Tony Hoare设计提出的快速排序被誉为20世纪十大算法之一希尔排序是直接插入排序的升级,属于插入排序堆排序是简单选择排序的升级,属于选择排序类快速排序是冒泡排序的升级,属于交换排序类快速排序是增加了记录的比较和移动的距离,将关键字较大的记录从前面直接移到后面,关键字较小的记录从后边直接移到前面,从而减少了比较次数和移动交换的次数快速排序快排的基本思想是,通过一趟排...

2021-05-23 22:00:17 405 9

原创 【大话数据结构C语言】69 归并排序(递归和迭代实现)

堆排序之所以效率比较高是利用了完全二叉树,但是堆排序的设计本身是比较复杂的那就引出一个问题,有没有更简单的使用完全二叉树来排序的算法呢?这就引出了归并排序算法归并排序归并排序就是利用归并的思想实现的排序方法,原理是假设初始序列含有n个记录,则可以看出是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或者1的有序子序列;再两两归并。。。。如此反复,直至得到一个长度为n的有序序列为止,这种排序方法称为2路规定排序其排序的过程就是完全二叉树...

2021-05-23 15:11:59 71 2

原创 【大话数据结构C语言】68 堆排序

堆排序算法是利用堆进行排序的方法基本思想是将待排序的序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根结点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新构造成一个堆,这样就会得到n个元素中的次小值,如此反复执行,最后就可以得到一个有序序列了堆排序的时间复杂度为nlogn,这个性能要远远好于冒泡,简单选择,直接插入排序的时间复杂度空间复杂度上,它只有一个用来交换的暂存单元,也是非常的不错但是由于记录的比较与交换是跳跃..

2021-05-22 23:38:38 45

原创 【大话数据结构C语言】67 希尔排序

众所周知,排序算法最重要的就是速度,但是前边介绍的几个算法时间复杂度都是n的平方这个问题其实困扰了计算机界前辈们很久,一度有人认为“排序算法时间复杂度不可能突破n方”但是,终有一天还是有科学家发现了,并且接连就出现好几种可以超越n方的排序算法,把内培训算法的时间复杂度提升到了nlogn希尔排序的时间复杂度是,比前边几种的要好希尔排序事实上还是直接插入排序,然后分成几个小组分别排序#include <stdio.h>void ...

2021-05-22 23:17:05 48

原创 【大话数据结构C语言】66 直接插入排序

直接插入排序的基本操作是将一个记录插入到已经排好的有序表中,从而得到一个新的,记录数增1的有序表直接排序的时间复杂度也是n的平方,但是其性能比之前的冒泡排序和选择排序还是要好的#include <stdio.h>void InsertSort(int k[], int n){ int i, j, temp; for( i=1; i < n; i++ ) { if( k[i] < k[i-1] ) {

2021-05-22 22:07:18 37

原创 【大话数据结构C语言】65 简单选择排序

选择排序的基本思想是每一次记录中选取关键字最小的记录作为有序序列的第i个元素从代码上看,时间复杂度和冒泡一样都是n的平方( 所以用到它的时候,数据规模越小越好),但是实际处理次数还是少很多的,选择排序的效率更高些#include <stdio.h>void SelectSort(int k[], int n){ int i, j, min, temp, count1=0, count2=0; for( i=0; i < n-1; i++ ...

2021-05-22 21:45:18 48

转载 17.ARP协议的工作机制详解

ARP 是“Address Resolution Protocol”的缩写,译为“地址解析协议”,它是根据 IP 地址获取物理地址的一个 TCP/IP 协议。ARP 协议通过 IP 地址向 MAC 地址的转换,解决网际层和网络访问层的衔接问题。由于 IP 地址和 MAC 地址定位方式不同,ARP 协议成为数据传输的必备协议。主机发送信息前,必须通过 ARP 协议获取目标 IP 地址对应的 MAC 地址,才能正确地发送数据包。为什么需要 ARP 协议在网络访问层中,同一局域网中的一台主机要和另一台主

2021-05-22 20:30:56 68

转载 16.使用netwox构造IP数据包

为了更好地掌握 IP 协议,下面使用 netwox 工具提供的模块来构建各种 IP 数据包。构建 IP 数据包netwox 工具提供编号为 38 的模块,用来构造 IP 数据包。用户不仅可以设置源IP地址和目标 IP 地址,还可以设置 TTL、数据分片等字段。【示例】构造 IP 数据包。1) 不指定选项,直接运行该模块。执行命令如下:root@daxueba:~# netwox 38输出信息如下:IP______________________________________

2021-05-22 20:29:17 93

转载 15.IP数据报格式详解

在 TCP/IP 协议中,使用 IP 协议传输数据的包被称为 IP 数据包,每个数据包都包含 IP 协议规定的内容。IP 协议规定的这些内容被称为IP 数据报文(IP Datagram)或者IP 数据报。IP 数据报文由首部(称为报头)和数据两部分组成。首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。每个 IP 数据报都以一个 IP 报头开始。源计算机构造这个 IP 报头,而目的计算机利用 IP 报头中封装的信息处理数据..

2021-05-22 20:27:13 55

转载 14.IP协议的工作方式

IP 协议提供了一种分层的、与硬件无关的寻址系统,它可以在复杂的路由式网络中传递数据所需的服务。IP 协议可以将多个交换网络连接起来,在源地址和目的地址之间传送数据包。同时,它还提供数据重新组装功能,以适应不同网络对数据包大小的要求。在一个路由式网络中,源地址主机向目标地址主机发送数据时,IP协议是如何将数据成功发送到目标主机上的呢?由于网络分同网段和不同网段两种情况,工作方式如下:同网段如果源地址主机和目标地址主机在同一网段,目标 IP 地址被 ARP 协议解析为 MAC 地址,然后根据 M

2021-05-22 20:25:17 42

转载 13.CIDR(无类域间路由)是什么?

将 IP 地址分为 A 类、B 类、C 类后,会造成 IP 地址的部分浪费。例如,一些连续的 IP 地址,一部分属于 A 类地址,另一部分属于 B 类地址。为了使这些地址聚合以方便管理,出现了 CIDR(无类域间路由)。无类域间路由(Classless Inter-Domain Routing,CIDR)可以将路由集中起来,在路由表中更灵活地定义地址。它不区分 A 类、B 类、C 类地址,而是使用 CIDR 前缀的值指定地址中作为网络 ID 的位数。这个前缀可以位于地址空间的任何位置,让管理者能够以更灵

2021-05-22 20:23:53 62

原创 TCP/IP (计算机网络)目录

本群教程转载于C语言中文网,单纯学习目的,转载请联系原文出处目录:教程目录:1.计算机网络由哪些硬件设备组成?2.网络协议是什么?3.netwox网络工具集入门教程4.Wireshark下载安装和使用教程5.TCP/IP网络访问层的构成6.网络体系的构成和类型7.物理地址(MAC地址)是什么?8.以太网是什么?9.以太网数据帧格式(结构)图解10.netwox显示网络配置信息11.IP地址是什么?12.IP地址的格式和分类...

2021-05-22 20:20:20 41

原创 Allen的进阶之路目录

本专栏主要是记录一些工作中的感悟,欢迎留言和我交流这部分的文章我基本都会整理排版发布在我个人的公众号【CodeAllen】,喜欢的朋友欢迎关注并多多支持!这部分文章对在校或者毕业5年以内的工程师应该会有所帮助,都是我自己不断尝试并总结的经验,欢迎探讨想加我微信的朋友可以在公众号下回复“微信”即可本专栏目录为时间顺序,新文章在最下方学生阶段怎么提升计算机专业水平,并参加专业比赛?对于学生或者初学者,嵌入式行业的软硬件区分,以及入门工作是什么呢?早起的故事-为什么早起?怎么早起.

2021-05-22 19:02:06 59 1

原创 高级C语言目录

目前高级C语言专栏文章总数为69篇,后序会逐渐更新并整理目录,感谢关注目录C语言学习篇资料分享篇杂谈C语言C语言实例错误解决篇C语言学习篇C语言学习第1篇---数据类型概念剖析资料分享篇C语言深度剖析 陈正冲 资料分享杂谈C语言杂谈C语言 1 递归函数剖析C语言实例C语言实例 1 学生成绩管理系统错误解决篇void value not ignored as it ought to be...

2021-05-22 18:52:58 50

原创 STM32深入实践教程目录

目录STM32 HAL库学习系列STM32CubeMX学习使用Keil MDK使用STM32实例源码剖析STM32硬件剖析STM32问题分析其他STM32 HAL库学习系列STM32 HAL库学习系列第1篇 ADC配置 及 DAC配置STM32 HAL库学习系列第2篇 GPIO配置STM32 HAL库学习系列第3篇 常使用的几种延时方式STM32 HAL库学习系列第4篇 定时器TIM----- 开始定时器与PWM输出配置STM32CubeMX学习使用.

2021-05-22 18:37:17 107 1

原创 <assert.h> - assert()

函数声明:void assert(int expression);使用事项:这就是常说的断言函数,用法就是在调试过程中debug错误的一种方式断言是一种编程术语,可以理解为布尔类型(真或假)assert会对形参进行检查:如果expression是真的(对应值为1),则断言成功,表示程序正确,不进行任何操作如果expression是假的(对应值为0),则表明程序错误,这是assert会向终端打印一条错误,并调用abort()函数终止代码运行实例分析:#i...

2021-05-22 18:23:44 77

原创 SecureCRT连接VirtualBox虚拟机Ubuntu

需要几个注意的点:1.配置网络2.注意SecureCRTusername一定要和Ubuntu主机一致3.hostname需要在Ubuntu主机终端通过ifconfig获取如果是首次安装系统,需要先安装网络工具sudo apt install openssh-server...

2021-05-22 17:56:40 23

原创 C语言标准库总结

目录背景15个标准库头文件 assert.h 诊断消息 仅包含assert宏。可以在程序中使用该宏来诊断程序状态(例如某个变量是否为0等),若检查失败,程序终止。ctype.h 字符处理包含判断字符类型及大小写转换的函数。errno.h 错误监测提供了errno。可以在调用特定库函数后检测errno的值以判断调用过程中是否有错误发生。float.h 浮点数特性提供了描述浮点数特性的宏。limits.h 整型特性...

2021-05-22 11:16:07 40

原创 VirtualBox启动模式分析(正常启动/无界面启动/分离式启动)

目录VirtualBox启动模式分为三种:1、正常启动2、无界面启动3、分离式启动VirtualBox启动模式分为三种:1、正常启动这里的启动是两个窗口都开启,关闭console之后虚拟机也随即关闭关闭界面如下图2、无界面启动只启动了软件,但没有启动console。计算机可以对外提供服务,可以远程登陆。有预览界面此时启动按钮没有可选项,点击则随即开启console界面此时关闭console界面可以选择后台...

2021-05-22 10:03:45 242

转载 12.IP地址的格式和分类

在网际层中,利用 IP 地址将数据传输到目的地。为了能够使数据正确地发送到目标主机上,网络上的 IP 地址必须有一定的规则来识别主机的位置。IP地址的基本构成为了便于寻址,了解目标主机的位置,每个 IP 地址包括两个标识码(ID),即网络 ID 和主机 ID。同一个物理网络上的所有主机都使用同一个网络 ID,网络上的一个主机(包括网络上的工作站、服务器和路由器等)有一个主机 ID 与其对应。网络 ID 和主机 ID 含义如下:网络 ID:用于识别主机所在的网络,网络 ID 的位数直接决定了可以

2021-05-22 01:25:42 18

转载 11.IP地址是什么?

IP 地址(Internet Protocol Address)是互联网协议特有的一种地址,它是 IP 协议提供的一种统一的地址格式。IP 地址为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。那么,我们为什么要使用 IP 地址呢?在单个局域网网段中,计算机与计算机之间可以使用网络访问层提供的 MAC 地址进行通信。如果在路由式网络中,计算机之间进行通信就不能利用 MAC 地址实现数据传输了:因为 MAC 地址不能跨路由接口运行;即使强行实现跨越,使用 MAC 地址传输数据也

2021-05-22 01:24:06 42

STM32F103c8t6最小系统(AD)

STM32F103c8t6最小系统(AD) STM32F103c8t6最小系统(AD)

2017-11-21

Modbus调试精灵1.024.rar

Modbus调试精灵1.024.rar-

2018-11-11

VC++2010权威开发指南源代码

VC++2010权威开发指南源代码 VC++2010权威开发指南源代码

2017-11-21

modbus主机源码.rar

modbus主机源码.rar。

2018-11-11

Modbus通信协议.pdf

Modbus通信协议。。

2018-11-11

spi读写历程

/*功能: 从高到低接收一个字节,高位先接收*/ /*输出: 接收到的数据*/ /*下降沿时,数据出现在SO,低电平的时候把数据读到*/

2017-09-29

RKF30-60系列.pdf

之前去中发买的电源,价格150 基本参数:18-36输入,稳定12输出 效果很好,几乎没有跳变

2019-06-06

完整版UCOS-II V2.52源代码

完整版UCOS-II V2.52源代码 完整版UCOS-II V2.52源代码

2017-11-21

CRC16检验小工具 1.1绿色版.rar

CRC16检验小工具 1.1绿色版.rar

2018-11-11

C语言程序设计-现代方法 配套源码

《C语言程序设计:现代方法(第2版)》是C程序员的理想参考书,在国外也被众多大学采用为C语言课程的教材。

2017-09-29

opo7c 运算放大器 电路问题

发表于 2018-06-01 最后回复 2020-05-16

Allen李康的留言板

发表于 2020-01-02 最后回复 2020-05-15

在linux中调用XML文件

发表于 2018-06-20 最后回复 2018-06-24

空空如也

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

TA关注的人 TA的粉丝

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