自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

楷尘·极客

小时候天真的以为全世界都喜欢我,长大了才知道,原来是全宇宙!

  • 博客(161)
  • 资源 (32)
  • 收藏
  • 关注

原创 音视频应用开发系列文章目录

前言本文记录了本人在音视频学习和应用开发之路遇到的知识点和实际应用中遇到的坑所做的一些总结。因为音视频这方面的知识太多太多,就算今天记住了,过段时间又会遗忘一些细节,在此做记录总结供大家和自己日后做参考。持续更新ing···环境搭建篇《初识ffmpeg》《windows部署nginx+rtmp服务器并进行推拉流》《windows下CMake fdk-aac》《windows...

2019-11-29 23:33:44 3007

原创 h264起始码格式转换

h264起始码h264文件的NALU的起始码可以是0x00 0x00 0x01或者0x00 0x00 0x00 0x01代码实现以下通过代码功能可以格式化h264文件为任意一种起始码类型。int h264_format_start_code(const char *dst, const char *src, int type /* 0 for 001, 1 for 0001 */)dst:输出格式化后的h264文件src:输入原始的h264文件type:0 格式化为0x0

2020-06-23 10:17:35 1440

原创 判断音频是否有海思头

海思SOC AENC模块音频编码出来的数据是带海思头的,使用常规的解码器是无法直接解码的,而是要去掉海思头后才是原始的音频数据,那么如何判断音频包中是否有海思头呢!海思音频数据分布[hisi header][audio data][hisi header][audio data]···[hisi header][audio data]海思音频头海思音频头有4个字节unsigned char hisi_header[4];hisi_header[0] = 0x00; // 固定为0x0

2020-05-13 13:29:13 1001

原创 Windows下CMake libuv

简单对比下几个常用的几个异步事件库libuv支持在Windows下支持IOCP,Linux下支持epoll,BSD系支持kqueuelibev在Linux下支持epoll,BSD系支持kqueue,但在Windows只能selectlibevent支持在Windows下支持IOCP(但是据说支持的不怎么好),Linux下支持epoll,BSD系支持kqueue下载源码https...

2020-04-30 17:01:14 1074 1

原创 nginx源码开发-在nginx.conf中添加自定义配置

《音视频应用开发系列文章目录》nginx的配置内容都在nginx.conf中,nginx已经预定义了许多的配置选项,比如worker_processes,error_log,user等等···,那么如何在nginx添加自定义的配置呢!添加自定义配置比如现在要在nginx.conf下添加rabbitmq的配置内容:配置名称 MQ-IP MQ-PORT MQ-USE...

2020-04-29 13:02:02 1424

原创 nginx源码分析-ngx_get_options函数及如何添加自定义option

《音视频应用开发系列文章目录》ngx_get_options函数分析static ngx_int_tngx_get_options(int argc, char *const *argv){ u_char *p; ngx_int_t i; // 循环遍历argv for (i = 1; i < argc; i++) { ...

2020-04-21 16:47:07 426

原创 nginx源码分析-main函数

nginx的main函数位于nginx源码目录下的src/core/nginx.c文件中int ngx_cdeclmain(int argc, char *const *argv){ ngx_buf_t *b; ngx_log_t *log; ngx_uint_t i; ngx_cycle_t *cycl...

2020-04-21 16:08:14 463

原创 nginx源码开发-添加三方库

生成Makefile按照此文章生成nginx源码的Makefilenginx添加三方库(以三方库rabbitmq-c为例)1.使用和编译nginx一样的编译器编译三方库rabbitmq-c2.打开并修改nginx的Makefile在ALL_INCS下面添加三方库的包含目录在build/output/nginx.exe 下添加三方库路径依赖3.进入nginx源码目...

2020-04-20 15:28:45 469

原创 Windows下CMake rabbitmq-c

编译openssl (如果不需要openssl,也可以跳过此步骤)https://blog.csdn.net/liang19890820/article/details/51658574 // 此大佬已经写的非常清楚完美无可挑剔以下总结该大佬快速编译需要软件:ActivePerl,Nasm,OpenSSL源码ActivePerl,Nasm下载安装完加入环境变量,打开CMD,根据需要...

2020-04-17 09:38:59 950 1

原创 SeetafaceV6人脸定位/识别/年龄预测/性别预测/口罩有无/眼睛睁闭

功能人脸定位,人脸识别,年龄预测,性别预测集一体demo,活体检测效果不佳(可能是我摄像头太渣的原因),没加上。环境Windows10,vs2015/2017,seetaface6,opencv411代码#include <iostream>#include <opencv2/opencv.hpp>#include "seeta/FaceDetec...

2020-04-07 17:42:38 3829 8

原创 Windows下nginx-http-flv-module服务部署

《音视频应用开发系列文章目录》1.新建文件夹nginx-rtmp2.将《Windows下nginx-http-flv-module编译》生成的nginx.exe拷贝到nginx-rtmp目录下3.将nginx源码目录下的conf文件夹拷贝到nginx-rtmp目录下4.将nginx源码目录下的docs/html文件夹拷贝到nginx-rtmp目录下5.在nginx-rtmp目录...

2020-03-25 16:45:03 11088 10

原创 Windows下nginx-http-flv-module编译

准备nginx源码工具集1.mingw2.perl,安装时添加到环境变量3.nasm,安装完将nasm.exe所在的目录添加到环境变量4.sed,安装完将sed.exe所在的目录添加到环境变量三方库1.rtmp插件,nginx-rtmp-module或者nginx-http-flv-module(here use nginx-http-flv-module)2...

2020-03-25 15:26:45 11940 27

原创 Windows下RabbitMQ服务器部署及测试

系统环境win7/win10 x64下载安装erlangerlang官网下载不是一般的慢,这边提供快捷通道安装完添加环境变量:E:\install\rabbitmq\erlang\erl9.3\bin(换成实际路径/bin)测试win+r->cmd输入:erl,出现下图说明成功下载安装rabbitmq server同上和erlang打包好的下载地址安装完...

2020-03-23 17:18:30 771

原创 JT/T1078-车辆终端模拟器

《音视频应用开发系列文章目录》1.支持任意音视频(本地,摄像头,IPC)以JT1078协议打包发送2.音频支持G711A/G711U/G726/AAC3.视频支持H264/H2654.支持OSD编辑5.支持人脸检测合作方式:CSDN私信...

2020-03-15 21:43:42 2839 5

原创 JT/T1078-音视频转发服务器

1.支持JT1078协议音视频转RTMP推流nginx2.支持实时流,回放流,对讲高并发转发服务3.音频支持G711A/G711U/G726/AAC4.视频支持H2645.支持实时可视化终端连接状态及数据6.支持实时可视化线程池7.支持Windows/Linux部署...

2020-03-15 21:36:29 3186 3

原创 Qt之http实现get/post的两种方法

法一:异步异步就是使用信号槽的方法实现get/post的异步方法,这样的方式不会产生阻塞,在获取到reply之前可以do other things。getvoid get(const QString &str_url){ const QUrl url = QUrl::fromUserInput(str_url); QNetworkRequest qnr(url); Q...

2020-03-15 21:16:42 4186

原创 JT/T1078-RTP音视频封包

JT1078-RTP包结构JT1078-RTP音视频包定义#pragma pack(push)#pragma pack (1)typedef struct Jt1078AudioRtpPacket_T { unsigned char head[4];#if IS_JT1078RTP_BIGENDIAN // 大小端模式 unsigned char v : 2;...

2020-02-28 10:41:54 3610 1

原创 搭建RTSP服务器

《音视频应用开发系列文章目录》网上现在公网的RTSP服务地址都已经失效,无法使用,可以自己搭建RTSP服务器用于测试,这边介绍使用VLC搭建RTSP服务器。安装打开VLCRTSP媒体源选择从本地媒体文件(本地媒体文件mp4/avi等)从网络流(RTSP/RTMP/UDP/RTP等远程网络流)从捕获设备(摄像头麦克风等)开始搭建以媒体源为RTMP网...

2020-01-15 15:03:43 4248

原创 Qt:The bound address is already in use解决及QTcpServer如何停止监听

The bound address is already in use解决Qt tcp服务器重复监听同个端口时会出错:The bound address is already in use// maybe occur error:The bound address is already in useQTcpServer tcp1, tcp2;tcp1.setMaxPendingCon...

2020-01-04 16:38:02 5345

原创 FFmpeg推流器

《音视频应用开发系列文章目录》推流器设计思路生产者-消费者模式。一个线程负责拉取原始音视频流然后存储在队列,一个线程负责从音视频流队列获取流然后推送,视频帧需要按照实际的帧率间隔发送,否则服务器可能会受不了设计AvPusher类AvPusher.h#ifndef _AV_PUSHER_H_#define _AV_PUSHER_H_/*****************...

2019-12-26 14:56:54 703

原创 FFmpeg拉流器

《音视频应用开发系列文章目录》拉流器设计思路生产者-消费者模式。一个线程负责拉取原始音视频流然后存储在队列,音频消费线程从音频队列获取原始流进行解码等其他消费,视频消费线程从视频队列获取原始流进行解码等其他消费。设计AvPuller类AvPuller.h#ifndef _AV_PULLER_H_#define _AV_PULLER_H_/**************...

2019-12-26 14:36:41 1994 1

原创 FFmpeg视频解码硬件加速

《音视频应用开发系列文章目录》ffmpeg支持的硬件解码器enum AVHWDeviceType { AV_HWDEVICE_TYPE_NONE, AV_HWDEVICE_TYPE_VDPAU, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_VAAPI, AV_HWDEVICE_TYPE_DXVA2, AV...

2019-12-26 14:13:03 4276

原创 windows下编译librtmp

《音视频应用开发系列文章目录》librtmp依赖zlib和openssl,所以在编译librtmp前需要编译这两个家伙编译zlib下载zlib并解压进入zlib根目录下的E:contrib/vstudio/vc14目录,VS1015之后的就进入从vc14,之前的进入对应目录即可选择对应的解决方案平台win32/x64 debug/release etc对zlibvc项目右键...

2019-12-25 17:11:23 880

原创 cv::Mat编码H264

《音视频应用开发系列文章目录》本文基于ffmpeg and opencv封装H264编码器类AvH264,编码opencv的Mat数据类型图像为ffmpeg的AVPacket数据类型的H264数据。编码流程打开编码器 // 初始化一些H264编码器的参数编码关闭编码器编码器参数typedef struct AvH264EncConfig_T { int width...

2019-12-03 13:00:26 2399 3

原创 大小端

《音视频应用开发系列文章目录》大小端互换void endian_swap(void *data, int size) { // size must 2 4 8 unsigned char *swdata = (unsigned char *)data; for (int i = 0; i < size / 2; ++i) { unsigned char temp = ...

2019-12-02 21:27:14 271

原创 AVFrame和cv::Mat互转

《音视频应用开发系列文章目录》ffmpeg视频解码后得到图像经常需要一些图像处理,opencv是图像处理的神器。所以就需要两者之间互相转化,ffmpeg解码后的数据类型是AVFrame,而opencv的图像数据结构是Mat,这就需要做个转化,本文实现了avframe->mat,mat->avframe。封装成函数cv::Mat avframe2cvmat(AVFrame *av...

2019-12-02 21:01:11 3727 2

原创 音频编解码之AAC

《音视频应用开发系列文章目录》本文基于fdk-aac封装AAC编码器类AvAac。aac编解码库有faac和fdk-aac,经百度,fdk-aac比较强大,所以基于fdk-aac,首先需要编译fdk-aac,Linux下easy,Windows下可以参考《windows下CMake fdk-aac》。编码流程打开编码器 // 初始化一些AAC编码器的参数编码关闭编码器编码...

2019-12-02 20:40:03 2561

原创 音频编解码之G711

《音视频应用开发系列文章目录》G711规定了如何将128kbps的raw pcm信号转为64kbps的g711u/g711a音频信号。本文在前人的基础上封装了G711的编解码算法,有两种实现(基于算法和基于查表),查表的速度更快(源码下载)。#ifndef _G711_H_#define _G711_H_/**************************************...

2019-12-02 19:03:46 2463

原创 windows下CMake fdk-aac

《音视频应用开发系列文章目录》前言在Linux下fdk-aac有编译脚本,可以轻松的编译之。但是在Windows下木有,这边创建fdk-aac cmake工程使得fdk-aac能cmake跨平台编译。这里使用Windows下的MSVC编译器编译。准备下载fdk-aac源码(本文使用的版本是fdk-aac-2.0.1)CMake工具(本文使用的版本是cmake-3.16.0-rc...

2019-11-23 17:07:29 1259

原创 音频编解码之G726

《音视频应用开发系列文章目录》在网上找了一份G726和PCM互相转化的代码(链接)。在VS2015下配置然后编译。使用附带的.pcm音频文件《上海滩》进行其demo代码测试,会发现成功运行但是有问题,pcm转成g726后,再将g726转成pcm,使用audacity进行pcm原始数据播放会发现声音变质了,就是转码有问题。本人基于其源码的(g726.c/g726.h)开发了一个g726转码类(A...

2019-11-20 20:29:48 3637 7

原创 FFmpeg音频重采样

《音视频应用开发系列文章目录》相关函数swr_alloc_set_opts // 分配一个重采样swr_init// 初始化重采样swr_convert// 重采样swr_free// 释放重采样planar和packetffmpeg定义了以下音频数据的存储方式和存储格式:enum AVSampleFormat { AV_SAMPLE_FMT_NON...

2019-11-12 17:22:23 739

原创 windows部署nginx+rtmp服务器并进行推拉流

《音视频应用开发系列文章目录》准备资源OBS:用于推流VLC:用于拉流NGINX4WIN:前人Windows编译版http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zipNGINX源码:自行编译的可以下载http://nginx.org/download/nginx-rtmp-module:https://g...

2019-10-31 18:24:24 2049

原创 海思音频开发

《音视频应用开发系列文章目录》海思音频文档原始音频信号以模拟信号的形式给出后,通过 Audio Codec,按一定采样率和采样精度转换为数字信号。 Audio Codec 以 I2S 时序或 PCM 时序的方式,将数字信号传输给 AI设备。芯片利用 DMA 将 AI 设备中的音频数据搬移到内存中,完成录音操作。播放和录音是基于同样的原理。芯片利用 DMA 将内存中的数据传输到 AO 设备。...

2019-10-10 20:32:51 1522

原创 RTP载荷G711A/G711U/PCM/G726音频

《音视频应用开发系列文章目录》编码RTP over G711A/G711U/PCM音频的大致过程1.添加RTP12字节的头2.添加payload(G711A/G711U/PCM/G726的真实数据)RTP打包图伪代码void rtp_send_g711(char *data, int len){ char buf[MTU]; // fix buf[0~11] ...

2019-10-10 19:55:42 3982 1

原创 RTP载荷H264视频

《音视频应用开发系列文章目录》编码RTP over H264的大致过程1.判断H264的NALU数据大小和MTU(Maximum Transmission Unit[normal 1500bytes])的关系 小于MTU:发送整个NALU大于MTU:分片发送NALU2.添加RTP12字节的头3.case小于MTU:添加payload(NALU数据)4.case大于...

2019-10-10 19:23:56 478

原创 RTP载荷AAC音频

《音视频应用开发系列文章目录》编码RTP over AAC的大致过程1.添加RTP12字节的头2.如果AAC有ADTS头,则跳过7字节的data3.添加4字节的AU_HEAD 字节1:0x00 字节2:0x10 字节3:(data_len & 0x1fe0) >> 5 字节4:(data_len & 0x1f) << ...

2019-10-09 20:04:32 1611

原创 RTSP音视频传输频笔记

《音视频应用开发系列文章目录》RTSP在音视频传输中的位置RTSP协议是一个应用层协议,主要针对媒体流传输过程的控制和配置,提供OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,GET_PARAMETER,SET_PARAMETER等操作命令。下图是客户端请求rtsp服务器音视频数据的大致过程client通过RTSP协议对远程服务器发起连接请求,连接成功...

2019-09-25 20:17:03 3409 3

原创 H264学习笔记

《音视频应用开发系列文章目录》学习路线首先学习H264是啥,H264的码流数据结构。1.《H264视频码流格式浅析》2.《入门理解H264编码》看完上面两篇大佬的文章基本对H264的码流结构有所认识。一些记录1.H264和X264的区别 H264 是一个标准,一种码流格式,定义了视频流应该如何编解码;x264是一个开源的编码器,用于产生H264格式的视频流。2...

2019-09-17 19:40:33 560

原创 FFmpeg学习笔记

《音视频应用开发系列文章目录》FFmpeg介绍一个强大的音视频编解码内核工具(OR百度百科)FFmpeg获取ffmpeg官网:http://ffmpeg.org/ffmpeg编译好的包:https://ffmpeg.zeranoe.com/builds/ffmpeg有三个版本:static,shared,dev。static版本包含了三个静态编译ffmpeg的工具"ffmp...

2019-07-12 16:38:54 1091 1

原创 KCG-VISION:条码读取

新建工程新建工程"Read_Code",其过程或下载软件可以参考《KCG-VISION:获取图片》。实验目的从标准相机实时读取条码,并画出条码的位置。相关算子如果没有标准相机,使用其他图片也可以,最终的算子脚本流程如下:运行效果软件下载软件下载,戳这里。...

2019-06-24 11:28:30 1044

牛顿迭代法求二元一次方程C++代码及其软件

利用C++和Qt-library实现牛顿迭代法求二元一次方程,并以图形示意。

2018-03-21

以图搜图 哈希感知算法

在Windows10+vs2013+opencv3.00+qt5.6.0平台利用哈希感知算法实现以图搜图软件,可以输入图片,在数据库中搜索类似的图片。也可以对图片进行训练写入数据库。(相关博客:https://blog.csdn.net/KayChanGEEK/article/details/79284169)

2018-02-07

OpenCL-SVM测试

windows下的GPU的OpenCL-SVM特性测试。opencv灰度模板匹配在CPU和GPU之间的执行速度对比的测试软件!

2017-12-27

OpenCV3.x-OpenCL特性

说明了OpenCV3.x-OpenCL特性,OpenCL的UMat使用,和2.x版本CL的使用区别。

2017-12-20

opencv移植到ARM所需要的一些工具包

包含arm-linux-交叉编译工具,编译opencv时需要的一些依赖包!

2017-11-15

标定助手V2.3

一款机械手和工业相机的标定助手。目前支持大恒相机,IDS的ueye相机,普通的USB相机。可以标定机械手坐标系和图像坐标系的关系。支持64位系统。还附带了直线分析工具,矩形分析工具,条码识别功能,ORB图像匹配,图像增强等功能!

2017-09-14

Qt按键框架

一个Qt按键框架,用更少的代码实现按键事件功能!添加一个新的按键只要注册一下就可以用了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2017-09-12

zbar Windows32和64的库

zbar条码识别库,支持Windows32位和64位版本。

2017-08-22

Image Watch

一款VS的插件,可以实时的查看opencv中Mat数据结构的实时图像。不想要分的,不过好像现在不能设置成0分,所以搞了1分。不好意思···

2017-08-08

标定助手V2.0

一款机械手和工业相机的标定助手。目前支持大恒相机,IDS的ueye相机,普通的USB相机。可以标定机械手坐标系和图像坐标系的关系。支持WINDOWS 32位和64位系统。

2017-08-04

相机标定助手

一款机械手和工业相机的标定助手。目前支持大恒相机,IDS的ueye相机,普通的USB相机。可以标定机械手坐标系和图像坐标系的关系。

2017-08-02

机械手和相机的标定助手

一款机械手和工业相机的标定助手。目前支持大恒相机,IDS的ueye相机,普通的USB相机。可以标定机械手坐标系和图像坐标系的关系。

2017-07-31

OpenCV棋盘标定板制作工具小软件(软件和源码)

OpenCV棋盘标定板制作工具小软件(软件和源码) 输入对应要制作的参数即可一键生成想要的标定板图像。

2017-07-26

相机坐标系和机械手坐标系的标定软件

相机坐标系和机械手坐标系的标定软件

2017-06-29

OpenCV几包计数

计算给定图中的细胞总数!

2016-09-04

人脸识别门禁系统

人脸识别门禁系统

2016-04-15

nginx-rtmp.rar

windows下部署好的nginx插件nginx-http-flv-module,可直接运行服务器,然后进行推拉流,详细内容见https://blog.csdn.net/KayChanGEEK/article/details/105098588

2020-03-25

编译nginx+rtmp所需源码和工具集和三方库.rar

编译nginx+rtmp所需源码和工具集和三方库。含perl nasm mingw sed, openssl zlib pcre rtmp插件,nginx源码。

2020-03-25

erlang20.3+rabbitmq server.rar

windows下部署rabbitmq所需要的erlang20.3和rabbitmq server。erlang官网下载不是一般的慢。

2020-03-23

g711音频编解码(C/C++)实现

C/C++实现(基于算法和基于查表)的G711编解码算法,并封装为AvG711类,简单易用,信手拈来~

2019-12-02

g726 codec.rar

基于其源码的(g726.c/g726.h)开发了一个g726转码类(AvG726),简单易用。使用说明查看blog: https://blog.csdn.net/KayChanGEEK/article/details/103169731

2019-11-20

KCG-VISION.zip

KCG-VISION是本人开发的一个快速开发传统机器视觉的集成软件,集成了一些常用图像处理的算法,让这些算法可以可视化操作,可以利用GUI进行图像的分析,快速验证你的想法,提高开发测试的效率。

2019-06-19

人脸识别所需BAT文件

dlib+resnet人脸识别所需BAT文件,实现人脸定位注册识别。一个文件为预测68特征点,另一个预测128D特征。详细使用参考https://blog.csdn.net/KayChanGEEK。

2019-06-03

深度学习-目标检测快速训练预测工具

这是一个本人在Windows下基于darknet+qt+opencv搭建的一个深度学习-目标检测快速训练预测的平台,可以利用该平台快速进行您自己数据集的标注/训练/预测。详细使用过程请访问博客:https://blog.csdn.net/KayChanGEEK/article/details/85849503

2019-01-05

瑕疵检测数据集

缺陷检测/瑕疵检测数据集。包含瑕疵图片的训练集和验证集。

2019-01-05

DarknetYolo数据集标注工具

自己制作的DarknetYolo数据集标注工具,可以快速对图片进行目标标注。

2018-12-17

ZIP解压缩命令

Windows没有ZIP,UNZIP命令,这边包含类似Linux下的ZIP和UNZIP命令的应用程序,加入环境变量即可像Linux命令行一样使用ZIP,UNZIP命令了。

2018-09-28

OpenCV-dnn加载YOLO网络目标检测

利用opencv-dnn加载YOLO进行目标检测,可以检测输入的图片,也可以利用USB-camera实时检测(目标包括人、汽车、狗等等【COCO数据集】),资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行测试)【注意:由于.weight文件太大无法一并上传,需要自行下载,下载地址见博客】

2018-04-17

OpenCV-dnn加载SSD300-Model目标检测

利用opencv-dnn加载SSD300-model进行目标检测,可以检测输入的图片,也可以利用USB-camera实时检测(目标包括人、汽车、狗等等),资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行测试)

2018-04-17

opencv-dnn使用Caffe训练的model进行手写数字识别

利用opencv-dnn加载caffe训练出来的model进行手写数字识别,使用Qt做UI实现手写板,可以实时测试,资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行测试)

2018-04-12

SVM实现手写数字识别

基于opencv-SVM算法实现手写数字识别,使用Qt做UI实现手写板,可以实时测试,资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行测试)

2018-03-30

KNN实现手写数字识别

基于opencv-KNN最邻近算法实现手写数字识别,使用Qt做UI实现手写板,可以实时测试,资源包含源代码和可执行程序(release文件夹下的exe文件可以直接运行)

2018-03-28

空空如也

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

TA关注的人

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