自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (58)
  • 收藏
  • 关注

原创 canvas笔记-画一片星空

程序运行截图如下:源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas id="canvas" style="border:1px solid #aaa;display:block;margin:50px a

2020-05-31 19:06:39 1646

原创 canvas笔记-lineJoin和miterLimit的使用

lineJoin是线条与线条连接时的效果lineJoin有如下参数miter(default)bevelround下面对各个参数进行展示!默认情况下:源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>&

2020-05-31 16:52:31 1812

原创 canvas笔记-画一个五角星(含算法)

算法如下:上面的图是正三角形:说下算法,关于上面那些x,y是怎么算出来的。这里大圆的5个顶点,每个顶点占用的角度为360/5 = 72度,左边那个18度是通过90 - 72 = 18度。大圆半径为R,所以x为cos(18度) * Ry为-sin(18度) * R这个负是因为坐标y,是因为向下为正。其他角度通过加72度就可以了!下面来看下那个54度是怎么算的!72 * 2 - 90 = 54度,同样半径为rx为cos(54度) * ry为-sin(54.

2020-05-31 15:34:53 2951

原创 canvas笔记-lineCap的使用

在画线时canvas有一个属性:lineCap可填写3个参数:butt(default)roundsquare程序运行截图如下:源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas id=

2020-05-31 14:56:18 1551

原创 canvas笔记-使用canvas画矩形及各样式(透明)

程序运行截图如下:源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas id="canvas" style="border:1px solid #aaa;display:block;margin:50px a

2020-05-31 14:42:13 4757

原创 canvas笔记-closePath函数的使用(含例子)

如下代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas id="canvas" style="border:1px solid #aaa;display:block;margin:50px auto;">

2020-05-31 14:40:29 2326

原创 canvas笔记-lineTo()与moveTo()的区别

首先来看下如下代码: let canvas = document.getElementById("canvas"); canvas.width = 800; canvas.height = 800; let context = canvas.getContext("2d"); context.lineWidth = 10; context.lineTo(10, 10); context.l

2020-05-30 11:53:12 6631

原创 canvas笔记-canvas适应浏览器(填充整个页面)

这里有2个地方要设置:1.html中的style。2.在js中获取父类的width或height。如下,第一个问题:index.html<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> html { width: 1.

2020-05-29 17:28:21 2109 1

原创 DM工作笔记-dimp及dexp的使用及解决该工具不能解析此文件,请使用更高版本的工具

再DM的bin目录下有下面2个程序:dimp导入dump文件的查看其help文件:dexp导出demp文件的查看其help文件:下面每一个给出一个示例:导出dmp文件dexp USERID=SYSDBA/SYSDBA FIEL=/home/要存的文件路径/文件名.dmp TABLE=哪个模式.哪个表导入dmp文件dimp USERID=SYSDBA/SYSDBA FILE=/home/要存的文件路径/文件名.dmp如果出现如下问题原因是出现,..

2020-05-29 10:30:30 7902

原创 canvas笔记-绘制运动小球(落地弹起,遇边回弹)

程序运行截图如下:就是这个球,遇到底端及左右两边都可以弹源码如下:canvas4.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <canvas id="canvas" style="display.

2020-05-28 20:03:36 1531

原创 Qt文档阅读笔记-单元测试中构建标准检测程序(CPU、Linux性能、内存泄漏等)

这里需要介绍一个宏,主要就是靠使用这个宏完成功能:QBENCHMARK{ //TODO}在单元测试中,这个宏在那个函数中,那么这个函数就会进行多次测试,如果不需要多次调用可以用下面的这宏代替:QBENCHMARK_ONECE{ //TODO}通过多次测试,得到其性能,下面给出一张表,在单元测试的时候可以添加如下的参数:程序运行截图如下:默认运行:带-tickcounter参数运行:源码如下:test5.proQT += widgets tes

2020-05-28 14:30:51 1002

原创 canvas笔记-使用canvas画圆及点阵的使用

如下例子:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas id="canvas" width="1024" height="768" style="border: 1px solid #aaa; display: bl

2020-05-27 10:19:02 1725

原创 canvas笔记-canvas基本用法

这里有几个要注意的地方:通过下面这两种方式设置画布的高度和宽度及通过下面这两种方式对不支持canvas浏览器进行提示:及最后一点,在canvas画图和Qt上用QPainter一模一样,都是基于“状态”的画法如下:通过context.beginPath()及context.closePath()进行设置s程序运行截图如下:如下:<!DOCTYPE html><html lang="en"><head&g..

2020-05-26 19:53:59 919

原创 Qt文档阅读笔记-重现GUI事件进行单元测试

主要的逻辑是,存储Widget事件,然后在Test中重放如下,在私有槽函数中测试函数如果要加模拟,需要在后面添加_data()class TestGui: public QObject{ Q_OBJECTprivate slots: void testGui_data(); void testGui();};下面的代码中,QTest::addColumn为添加列,第一个为重现的事件,第二个为目标预期值,以及这个QTest::newRow("XXXX")这里为跑起

2020-05-26 15:17:50 845

原创 Qt文档阅读笔记-Qt单元测试中模拟GUI事件

这里先提下基本概念官方的模拟GUI事件,就是调用QTest提供的函数,去模拟用户鼠标点击,用户输入等效果。从而达到模拟的功能,感觉这个功能非常的好。如:QTest::keyClicks()主要是模拟键盘。QTest::keyPress()与QTest::keyRelease()模拟键盘按下和释放QTest::mouseClick()鼠标左键QTest::mouseDclick()鼠标左键双击QTest::mouseMove()鼠标移动QTest::mousePress()鼠标

2020-05-25 09:18:04 2119 1

原创 Qt文档阅读笔记-数据驱动测试

如果要测试多个数据,可以使用下面的代码QCOMPARE(QString("hello").toUpper(), QString("HELLO"));QCOMPARE(QString("Hello").toUpper(), QString("HELLO"));QCOMPARE(QString("HellO").toUpper(), QString("HELLO"));QCOMPARE(QString("HELLO").toUpper(), QString("HELLO"));但是这个可读性相对

2020-05-23 16:27:16 894

原创 Qt文档阅读笔记-写一个简单的单元测试

程序运行截图如下:控制台:程序运行截图如下:控制台:QtCreator:源码如下:test.proQT += widgets testlibHEADERS = head.hSOURCES = source.cppinstalls += testhead.h#ifndef HEAD_H#define HEAD_H#include <QtTest>class TestQString: public QObject{ Q_OBJEC

2020-05-23 15:04:05 865

原创 WebStorm笔记-配置js的webpack识别alias(别名)

File->Settings下面的Languages&Frameworks,将下面的Webpack配置为webpack.base.conf.js这个文件中配置了JS的别名:这样敲代码WebStorm就有提示了。

2020-05-22 08:50:37 2369

原创 Web前端文档阅读笔记-vis.js动态添加节点(vue cli环境)

这里主要是针对vis的network图进行节点动态添加图用的是vis.js,表单使用的是element-ui程序运行截图如下:添加一个节点:这里是不需要刷新页面就能添加的。程序结构如下:关键源码如下:FormGroup.vue<template> <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" cla..

2020-05-21 15:20:08 3139 2

原创 Web前端文档阅读笔记-vis.js在vue cli中的使用

程序运行截图如下:首先要用npm导入的vis包npm run vis程序结构如下:源码如下:HelloWorld.vue<template> <div id="networkDemo" style="width:800px; height: 600px"> </div></template><script> import {createNode} from 'JS/visTest.js'e

2020-05-21 14:11:30 1125 1

原创 Web前后端笔记-通过对称加密算法和信息摘要算法防止数据重放

理论图如下:这里使用时间戳和随机数和正常提交的表单数据生成MD5摘要,再使用某16位密钥把MD5进行AES加密,生成128位的数据。然后提交给服务器。服务器先看提交的时间戳是否在范围内(如2分钟),如果时间非法就直接返回。然后看各个数据进行某种有规则的算法,生成MD5看看是否与提交的MD5一样,不一样说明是被串改的。如果MD5一样,对比下数据库中目前时间范围内(如2分钟)是不是二次提交,如果是就拒绝。将MD5和某16位密钥进行AES加密,如果和客户端传上来的一样,那么就可以回数.

2020-05-20 10:32:13 1481

原创 Web前后端笔记-vue cli及java进行AES加解密

这里我直接贴代码了。vue cli中,要先导入npm install crypto-jsvue代码如下:import axios from 'axios'import cryptoJS from "crypto-js/crypto-js";axios.defaults.timeout = 35 * 1000;/** * Get方法 * @param {*} url * @param {*} params */export function fetch(url, pa

2020-05-19 11:15:45 879 1

原创 Web前后端笔记-vue封装http请求添加signature及后端(Java)解析并验证

首先帖下运行截图:签名过期情况:签名错误情况:这里npm要导入js-md5,并且在main.js中添加import md5 from 'js-md5'Vue.prototype.$md5 = md5;首先来看下前端代码:import axios from 'axios'axios.defaults.timeout = 35 * 1000;/** * Get方法 * @param {*} url * @param {*} params */e...

2020-05-18 14:01:46 2643 1

原创 Android逆向笔记-通过字符串定位跳转点

这里只记录下思路!Android打包好的程序所有字符串会记录到strings.xml中。从上可知成功为successed失败为unsuccessed这里搜索下这个。可以看到成功的id为:0x7f05000c失败为:0x7f05000b从中可以看到if-nez v0满足的时候就会跳转到0x7f05000c也就是成功,所以只要将其改为goto即可。...

2020-05-17 16:30:07 1323 1

原创 MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)

遇到这个mysql.sock(13)一般是两种情况。一个是mysql.sock权限不够,最少要个775权限:chmod -R 775 /var/lib/mysql/如果嫌烦的话赋予777就可以了chmod -R 777 /var/lib/mysql/第二个情况是Linux的SELinux没关首先要临时关闭,然后永久关闭:setenforce 0vim /etc/selinux/config将其设置为disableSELINUX=disabled...

2020-05-17 09:46:39 1924 2

原创 DM工作笔记-查看会话(session)信息与关闭会话

刚刚写库的时候被阻塞了,估计是有死锁,感觉达梦没有MySQL智能,没有超时解锁的功能,查了下DM官方文档,解决了此问题,在此记录下。如下命令查询sessionSELECT SESS_ID,SQL_TEXT,STATE,CREATE_TIME,CLNT_HOST FROM V$SESSIONS;记得按下创建时间的排序。这里有state有几个状态,官方是这样解释的:找到对应表的sql干掉他就可以了。SP_CLOSE_SESSION关闭session函数定义..

2020-05-15 10:19:25 2744

原创 MySQL笔记-MySQL5.7解决root创建用户出现ERROR 1044(42000): Access denied for user

如下:grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';这里主要是权限问题查下user;desc user;将所有的enum设置为Y。一个是用命令:update一个是用工具:然后重新刷新下权限就好了。...

2020-05-14 23:54:31 1404

原创 Qt文档阅读笔记-QScopedPointer解析及实例

当指针超出范围后就会删除被引用的对象。与QPointer不同,他可以在任意类型中使用(QPointer只能在identity type中使用)4个不同的清除类 1. QScopedPointerDeleter 2. QScopedPointerArrayDeleter 3. QScopedPointerArrayDeleter 4. QScopedPointerDeleteLater如下例子:QScopedPointer<int, QScopedPoin...

2020-05-14 11:26:56 2480 4

原创 Qt文档阅读笔记-QPointer的概念及实例(并发多线程实例)

基本概念QPointer提供了模板类,这个包含指针主要是针对于QObject。当对象被销毁的时候会被自动设置为0,解决了指针悬挂问题。这里QPointer<T>中的T必须是QObject的子类,也就是identity type的Qt类。QPinter的删除对象树不能解决指针悬挂的问题: 1. QPointer为QObject提供了保护指针; 2. 当引用的对象被销毁时,QPointer会被设置为0; 3. 能适应任意的指针(保护指针自动转...

2020-05-13 21:55:07 1263

原创 Qt文档阅读笔记-Qt对象模型及deleteLater()杂记

最近主要在撸官方的自学包。在此作下简短的笔记:Qt对象模型Qt包含的1500个类可以分为2类 1. identify types; 2. value types;identify types: 1. 从QObject继承下来的类; 2. 通过元对象系统扩展C++的动态性质; 3. 不能用拷贝构造函数,并且"="符号相当与delete; 如:QWidget,QWindow,QApplication,QEventLoop,...

2020-05-13 16:02:06 1016

原创 Web前端笔记-使用@media(媒体查询)展示及隐藏div

这里主要实现的目标是实现当分辨率低了就隐藏,达到某个分辨率后就显示。如下:正常情况:当页面变小后:关键代码如下:@media (max-height: 600px) { .fas{display: none!important;}}@media (max-width: 300px) { .fas{display: none!important;}}当max-height小于600px时fas的display值为none。当max-width小于300

2020-05-12 17:11:11 3347

原创 Qt文档阅读笔记-隐式共享(Implicit Sharing)深入研究(理论及实例)

Qt里面很多C++类都是采用隐式共享最大限度的提高资源利用率以及最新复制的原则。隐式共享数据作为参数时,不仅安全而且高效,因为传的是一个指针并且只有要修改这个数据时才会去拷贝,这里有个专业词汇copy-on-write在Qt官方提供的ppt中经常会出现这个词,说的就是隐式共享。共享类(这个应该是指valuetype的类,学过Qt的都知道,Qt类可以分为两类,一个是identitytype和valuetype)由一个共享数据块及指向这个块的计数器组成。当共享对象被创建,这个块的计数器的值会...

2020-05-12 10:30:59 1363 2

原创 Qt工作笔记-profile中INSTALLS的使用

最近在撸国外的Qt教程,可能是我开始崇洋媚外了,国外的东西的确香。在此记录下查漏补缺的内容,方便以后查阅。pro文件中可以配置INSTALLS这个变量使用make install后可以将编译好的东西放到指定的文件中,这样的话就和编译安装其他开源软件一样了:make && make install官方给出的例子是这样的:target.path += $$[QT_INSTALL_qml]/moduleINSTALLS += target个人演示如下:.

2020-05-11 11:17:31 4894

原创 Android逆向笔记-使用Android Killer修改包名Android系统安装相同应用

这里以某网络加速器为例!主要是修改provider中的authorities以及package修改package的包名这里后面加了0001如下:后面的0001是自己加的,通过构造不同的包名,在同一系统中安装不同应用。...

2020-05-08 00:02:15 2198

原创 Qt文档阅读笔记-WebEngine Content Manipulatoin Example

这个例子展示了如何使用QtWebEngineWidgets创建一个web浏览器,并且如何使用JQuery去修改web浏览器中的内容。调用QWebEnginePage::runJavaScript()执行jQuery的JavaScript代码,通过继承QMainWindow及使用QWebEngineView在QMainWindow的中心区域构建一个浏览器。MainWindow...

2020-05-06 14:57:07 977

原创 MySQL笔记-MDL锁(metadata lock)

MySQL5.5版本引入了MDL锁(metadata lock),用于解决或保证DDL操作与DML操作之间的一致性。在mysqldump的时候不能做DDL操作,会提示waiting for table metadata lock;做DDL操作没办法保护事务,因此引入了metadata lock。如下时序图:如果没有MDL锁保护,那么session2,就会直接执行DDL操作,这样会导致ses...

2020-05-05 19:52:21 1668

原创 MySQL笔记-死锁原理与分析及InnoDB中如何减少死锁

根据InnoDB的加锁规则(Record Lock、Gap Lock、meta data lock)可以写出不会发生死锁的SQL语句,也能定位出产生死锁的原因。死锁产生的原因:产生回路:两个或两个以上的事务在执行过程中,分别持有一把锁,然后再加一把锁(AB-BA)产生死锁。加锁顺序不一致:两个或两个以上的事务并发执行(同一时刻),因争夺资源而造成的一种互相等待,产生死锁。...

2020-05-05 19:18:26 1866

原创 MySQL笔记-InnoDB中Record Lock与Gap Lock

锁:用于在多个事务访问同一个对象时根据这些操作访问同一对象的先后次序给事务排序。不同数据库的锁实现:InnoDB:行级锁;Oracle:行级锁;MyISAM:表级锁;Microsoft SQL Service:行级锁、锁升级InnoDB存储引擎中的锁:表级锁:IS(意向共享锁):事务给行加共享锁时会先取得该表的IS锁;IX(意向排他锁):事务给行加排...

2020-05-05 11:13:23 1383

原创 MySQL笔记-事务理论及并发存在的三个问题(脏读、不可重复读、幻读)演示

事务定义了一个服务操作序列,由服务器保证这些操作序列在多个客户并发访问和服务器出现故障情况下的原子性。事务是在数据库管理系统领域发展起来的,是一种对共享数据库进行并发访问或错误处理的泛型。在数据库中操作DML(insert,update,delete,select)或DDL(创建,改变表结构)都会发生事务。事务的4个属性:ACID:原子性、一致性、隔离性、持久性。解决原子性的...

2020-05-05 08:03:43 1278

原创 MySQL笔记-binlog理论及binlog回滚恢复数据

binlog:MySQL数据库的二进制日志,记录用户对数据库操作的SQL语句(select除外),使用mysqlbin可以查看其内容binlog有三种:1. STATMENT:基于SQL语句的复制,每一条会修改数据的sql语句会被记录到binlog中。2.RBR:基于行的复制,不记录每一条SQL语句的上下文信息,仅记录哪条数据被修改成什么样。3. MBR:混合模式复制,上面两...

2020-05-04 17:15:31 3073

Qt读取串口数据ReadSerialCardID

Qt读取串口数据ReadSerialCardID,免费开源,在csdn it1995有对应的博文

2020-04-03

rabbitmq安装套.rar

Rabbitmq 3.6.15 erlang 20.3 另外在本人的博客里面有对应的安装博文,CSDN IT1995

2019-11-27

Nginx相关.rar

Linux 上 Nginx相关的依赖包。凝思6版本已经装成功了!

2019-08-22

mysqllib和dll.rar

快速解决Qt5\MinGw编译器快速解决-QMYSQL driver not loaded问题

2019-05-20

基于Qt的HTTP服务器

本源码有对应的博文教程: https://blog.csdn.net/qq78442761/article/details/89080144

2019-04-08

Qt多线程端口扫描工具(开源)

本源码在 https://blog.csdn.net/qq78442761/article/details/89016277 中有解释说明

2019-04-04

Qt文本转化工具 realase版本

/* 本程序开源 开发者:QQ570176391 博客:https://blog.csdn.net/qq78442761 */ 注意本版本源码只支持UTF-8 ASCII 注意:源码请在本人前一个连接下载!

2019-01-19

Qt文件编码转换工具源码

/* 本程序开源 开发者:QQ570176391 博客:https://blog.csdn.net/qq78442761 */ 注意本版本源码只支持UTF-8 ASCII

2019-01-19

Qt + Python + OpenCV图标转换工作源码

本程序在博客CSDN IT1995有详细的说明! 本程序开源,欢迎大家学习与交流

2019-01-06

图标替换工具(开源发布版)

本程序在博客CSDN IT1995有详细的说明! 本程序开源,欢迎大家学习与交流

2019-01-06

Qt自定义代理,委托,自定义开关

本原理在CSDN IT1995 博客有详细说明。

2018-11-27

Qt,获取CPU信息(Linux,Windows通用)

本源码在CSDN IT1995的博客有代码详解,欢迎大家参考。谢谢!

2018-11-23

tcl8.4.19.zip

解决spawn: not found与expect: not found问题(安装expect)

2018-11-14

tcl8.4.11.zip

解决spawn: not found与expect: not found问题(安装expect)

2018-11-14

expect5.45

解决spawn: not found与expect: not found问题(安装expect)

2018-11-14

libX11生成libX11-xcb.so.1

解决部分Linux操作系统在安装Qt时候,缺少libX11-xcb.so.1文件的问题! 详细步骤可以查看CSDN IT1995博客

2018-11-13

RFID,C/C++门禁系统 RFID源码

CSDN IT1995相关博文的,关于RFID的源码,详细请看IT1995的博客

2018-11-05

winscp文件传输软件

只要ssh,22端口打开,无需vsftpd与proftpd都能进行文件传输,适合冷门系统,节约开发者时间成本

2018-11-05

C++Qt实时颜色查询源码 opencv

本套源码开源! 由CSDN IT1995提供! 在CSDN IT1995博客上有对应此套开源的博文,逻辑和算法讲解! 内有视频演示!

2018-10-16

opencv_contrib-3.3.0

稳定版,在博客IT1995有对应的用VS编译的原文!!!!!

2018-09-12

opencv-3.3.0

稳定版,在博客IT1995有对应的用VS编译的原文!!!!!

2018-09-12

Qt界面QSS等

此源码在博客CDSN IT1995有详细的说明。 https://blog.csdn.net/qq78442761/

2018-07-11

Qt仿QQ登录界面

此源码在CSDN IT1995有对应的博文。本程序开源!!!!

2018-05-03

Qt打地鼠游戏

qt打地鼠游戏,在博客CSDN IT1995 有相关博文讲解。 https://blog.csdn.net/qq78442761/

2018-04-22

QTreeWidget基础操作代码

本博文在CSDN IT1995有相关博文查阅。可以进入CSDN IT1995查看

2018-03-25

Qt/C++ 网站爬虫源码

本源码很简单,不是专业的爬虫软件,在CSDN博客IT1995有对应的博文,代码讲解。

2018-02-08

Android容器相关开发实践

Android容器相关开发实践 在博客IT1995有相关博文,方便大家快速掌握!

2018-01-25

XSS存储型 网易云课堂

网易云课堂微专业-WEB安全工程师 XSS存储型 源码。 在CSDN有对应博文

2018-01-18

基于RFID门禁系统源码 ,C/C++

/*本程序开源 * 作者QQ570176391,78442761 * * 博客http://blog.csdn.net/qq78442761 * * *此源码在博客有对应博文 * * */

2017-09-10

Qt|C/C++仿QQ宠物

免费开源代码; http://blog.csdn.net/qq78442761本博客有配套此代码的博文

2017-08-29

同步与通信机制的设计(信号量)

南邮 客户与服务器程序的同步与通信机制的设计 本博客有分步教程

2017-06-07

客户与服务器程序的同步与通信机制的设计(信号量版本)

此源码在csdn IT1995的博文有详讲

2017-06-06

客户与服务器程序的同步与通信机制的设计

南邮 客户与服务器程序的同步与通信机制的设计 本博客有分步教程

2017-05-31

Qt+Opencv-PCA人脸识别+视频

http://blog.csdn.net/qq78442761/article/details/71157980 此项目人脸识别模块讲解

2017-05-07

人脸识别Qt,opencv2.4.9

人脸识别,Qt,opencv2.4.9,

2017-05-04

qt图像灰度处理源码

相关文章请查阅csdn IT1995博客

2017-03-11

qt游戏客户端

此源码配套教程请查阅csdn IT1995博客

2017-03-02

gameServer

此源码配套教程为csdn IT1995博客

2017-03-02

Huffman.rar

相关文章查阅CSDN IT1995

2017-02-21

隐藏ExE文件到bmp中

csdn IT1995 C/C++信息隐写术第四节代码

2017-02-06

空空如也

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

TA关注的人

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