- 博客(31)
- 资源 (3)
- 收藏
- 关注
原创 线程池C++版
/ STL队列不是线程安全的,因此需要结合互斥锁。// pop会destroy单个task。// 指向父节点,线程的参数。// 默认线程池大小为8个线程。// 暂时不用,预留。// 取线程池里面的任务。
2022-09-07 10:54:41 544 1
原创 福昕电子签章验证BUG(Byterange范围)
废话不多说,先上效果图同样的文件,请看adobe的验证结果:有人可能会说,福昕跟adobe验证的机制可能不一样,才导致的福昕通过,adobe验证不通过,下面我就给大家扒一扒里面的猫腻,我竟然发现了福昕的一个bug!!!!!!!由于我最近在研究无序签章,也就是每个章的保护范围不是全文,于是我为了验证可行性,就去察看了pdf标准,请看下图:这是pdf1.6标准,规定的关于ByteRange数组四个值的定义,我就为了这个typically搞得我浪费了两天的时间去测试这个东西,标准规定ByteRange
2020-06-18 14:27:19 1231 3
原创 kmp算法以及改进算法代码C++
#include "stdafx.h"#include <string>using namespace std;void getNextValue(const string& str2,int next[]){ int i = 0;int j = -1; next[0] = -1; while(i<str2.length()-1) ...
2020-04-12 18:46:59 573
原创 安卓打包ARR遇到的错误解决办法
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > Unexpected scopes found in folder 'D:\twoMoveMent\app\build\intermediates\transforms\mergeJavaRes\debug'. Requir...
2018-12-17 09:27:56 456
原创 01背包优化平民理解思路
最近准备找工作了,研究了一下动态规划的问题,发现开始的状态方程还是好理解的有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。普通状态转移方程:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]} ,但是当我们将空间复杂度优化的时候,就会出现理解上的难点,不理解,特地我将二维数组与一维数组的...
2018-11-14 11:26:36 276
原创 深度学习入门
卷积操作 示例代码# coding: utf-8from PIL import Imageimport numpy as npimport osim = np.array(Image.open('/Users/yuanye/Desktop/yuanye.png'))print(im);print(im[0][0])print(len(im))print(len(im[0])...
2018-09-18 17:19:33 176
原创 spring随笔
spring的IOC容器为我们提供了 对象的实例化与属性的赋值,放在对应的配置文件里面,我们只需要获取对应的对象,然后调用对应的方法即可。<!-- 配置map属性值 --> <bean id = "newPerson" class= "com.spring.beans.collections.NewPerson2"> <property nam...
2018-08-29 11:08:27 235
原创 pdf水印功能关键技术详解
最近在开发pdf水印功能,产品成功测试上线了,觉得其中的难度真的是没有难度,可是为什么付昕等公司会把他当作是收费项目呢,真的是内行看门道,外行看热闹啊,其实pdf的开发就是一个标准,读懂了标准,就没有什么其他的东西了,不过我这里有捷径(2333333想知道吗?)水印作为pdf的一个单独的对象,首先有水印文字,水印图片两种类型,其实水印图片就是往文档里查图片,参考福昕的pdf编辑器,如果没有注册码的
2018-01-19 11:04:35 1347
原创 zlib uncompress解压数据inflate_fast函数出错的解决办法pdf
最近在开发pdf电子签章过程中遇到了点棘手的问题,因为pdf标准支持读取zlib压缩后的stream对象,因此,可以通过这个手段将stream里面的操作数据,之前将这个技术公开,我发现很多竞争对手开发进度大大增加,我决定将这个思路私有化, 提示两点:1,zlib 2, 在调用uncompress解压数据的时候,很有可能会在inflate_fast这个函数里面崩溃掉,原因是内存读取失败,也就是越
2018-01-18 17:14:05 729
原创 剑指offer 习题讲解与复习
在升序数组中查找。bool Find(int** matrix,int row,int col,int value){bool found = false;bool jump = false;int needle = 0;for(int i = col-1;i>=0&&jump;i--){needle++;for(int j = 0+needle;j{i
2018-01-09 10:56:33 805
原创 判断两个文件是否相同C++
#include #include #include void main() { char file1[50] = "C:\\Users\\ago\\Desktop\\C++.bat"; char file2[50] = "C:\\Users\\ago\\Desktop\\C++ - 副本.bat";
2017-12-04 11:22:54 4957
原创 鸟哥linux私房菜 随笔
切换执行等级,可以用init 命令来切换执行等级,linux共有7种执行等级,run level 0 :关机run level 3: 纯命令模式run level 5: 含有图形界面模式run level 6: 重启所以关机又等于 init 0 = shutdown -h now以及poweroff。chgrp 改变所属组chown 改变文件所有者chmod改变权限
2017-08-07 17:49:48 490
转载 重定向与管道命令
1重定向1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件或设备 追加原来的文件1.2标准错误重定向符号2> 将一个标准错误输出重定向到一个文件
2017-07-24 22:26:31 435
转载 apue<<UNIX环境高级编程>>翻译错误罗列
【1】全文中的“实现”一词应改为“实现品”。 这个不算是一个错误,只是笔者的一个建议。当笔者看到“实现”一次的时候很郁闷,这不是个动词吗?经过一番纠结、看了英文版之后明白是个名词,原文是“Implementation”。 Implementation的意思是把系统的设计模型转换为可以交付测试的系统的一个设计过程,其重点是实现系统软件的设计(源自有道)。但,
2017-06-03 17:27:44 458
原创 scanf输入参数详解
scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。如:1scanf("%d %d",&a,&b);函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果
2017-05-09 21:23:53 18624
原创 vim配置文件 好用的列表
set sw=4set ts=4set etset smarttabset smartindentset lbrset fo+=mBset smset selection=inclusiveset wildmenuset mousemodel=popupau FileType php setlocal dict+=~/.vim/dict/php_
2017-04-16 19:32:30 373
转载 GetLastError()返回值详解
(0)-操作成功完成。(1)-功能错误。(2)- 系统找不到指定的文件。(3)-系统找不到指定的路径。(4)-系统无法打开文件。(5)-拒绝访问。(6)-句柄无 效。(7)-存储控制块被损坏。(8)-存储空间不足,无法处理此命令。(9)-存储控制块地址无效。(10)-环境错 误。(11)-试图加载格式错误的程序。(12)-访问码无效。(13)-数
2017-04-12 10:24:09 983
原创 16进制数字转成字符串
for (i = 0; i {b = (unsigned char) s[i];c = (b >> 4) & 0x0f;fmt_putc(fmt, c c = (b) & 0x0f;fmt_putc(fmt, c }
2017-03-24 19:02:27 3497
原创 模拟ls -l命令简易代码demo
话不多说 上代码:/************************************************************************* > File Name: ls-l.c > Author: > Mail: > Created Time: Wed 08 Mar 2017 05:32:08 AM PST *********************
2017-03-12 17:17:11 824 1
转载 GDB教程
GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径。(gdb) f
2017-03-05 22:04:18 244
原创 pdf电子签章多章adobe福昕验证通过图片透明关键技术解析
由于目前的电子签章市场各种需求都有,例如 office签章,pdf签章,网页签章,图片签章,等等。在这一系列签章里面,由属dpf签章的市场最广,而且技术难度也是最大的,再加上现在移动电子签章逐渐兴起,跨平台的pdf库此起彼伏,加之word可以转成pdf,图片也可以转成pdf,因为pdf签章的市场非常广泛。因此本文主要讲解的是关于电子签章之pdf签章的几点关键技术,先上两张效果图:上
2017-03-03 16:45:06 9729 4
转载 文本方式与二进制方式读写文件的windows区别总结
一、写 二进制方式写,当遇到整型和浮点数时是以小端模式的整个十六进制值写入到文件中(和内存中一样),当遇到ascii字符和utf-16(unicode)类型的字符时候是用该编码的key值(unicode 16字节时候不作为小端模式而是书写模式存储)写入到文件中(和内存中一样)。 文本方式写,文本方式会根据当前程序使用的编码方式,将所有整型/浮点数/字符,都当做字符一个个映射到编
2017-02-24 10:37:27 1121
原创 memmove与memcopy的区别
前者更安全,多余重叠的区域的处理安全,而后者对于重叠区域的处理并不保证安全,例如:、char s[] = "abcdefghigk";char* p1 = s;char* p2 = s+3;memcpy(p2, p1, 6)与memmove(p2, p1, 6)的结果就可能是不同的,memmove()可以将p1的头5个字符"12345"正确拷贝至p2,而memcpy()的结果就
2016-12-19 10:18:42 831
原创 strstr源码学习,面试用得到
写的不错 值得学习,在str1中查找str2char * __cdecl strstr ( const char * str1, const char * str2 ){ char *cp = (char *) str1; char *s1, *s2; if ( !*str2 )
2016-12-15 16:32:51 259
转载 Unicode与UTF-8之间转换关系
最近在用VC++开发一个小工具,平时用惯了.NET,用起VC++最郁闷的就是字符串处理。当然最最让人难于琢磨的就是字符集,编码之间的转换。通过这几天的研究,终于明白了Unicode和UTF-8之间编码的区别。Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节
2016-10-18 11:08:12 480
原创 64位编译 ParaView QT4 64位 总结
由于ParaView 官网提供的QT支持版本是QT4,但是QT4官网并没有64位的安装包,因此到这里有两个方案1:自己编译QT4,64位。2:尝试使用QT5,官网有对应的64位安装包。楼主两种方式都采用了,首先为了偷懒,采用的QT5,因为偷鸡嘛,进行编译ParaView,去官网下载最新版本的源代码,下载安装QT5,并且设置环境变量,下载Cmake,下载python并且设置环境变量,下载
2016-10-11 19:04:43 2468
转载 已经定义的错误 libcmtd.lib
这个错误是微软设计错误,因此如果遇到这个错误,我们只能躲过这个链接错误。具体的办法就是将那个提示出错的库放到另外一个库的前面。另外选择不同的C函 数库,可能会引起这个错误。MS, C有两种C函数库,一种是普通的函数库:LIBC.LIB,不支持多线程。另外一种是支持多线程 的:msvcrt.lib。如果一个工程里,这两种函数库混合使用,可能会引起这个错误。因此建议使用支持多线程的msvcrt.l
2016-09-26 18:35:09 306
原创 防御性类型检测
今天在看源码的时候 浏览到一个地方先上代码# define CHECKED_SK_CMP_FUNC(type, p) \ ((int (*)(const void *, const void *)) \ ((1 ? p : (int (*)(const type * const *, const type * const *))0)))大家可能一头雾水,为何1为true
2016-09-09 16:27:22 319
原创 C++单例模式 终极解决方案 多线程
不废话 贴代码!#include#includeclass Singleton{private:static Singleton* instance;static std::mutex mutex;Singleton(){}Singleton(const Singleton& s);Singleton& operator=(const Singleton& s)
2016-08-31 18:07:51 445
原创 Qt 32位 64位 调试器问题汇总
最近在研究Qt,由于公司电脑内网,不给联网,我用的是最新的Qt5.3.2(vs2013),出现Qt不能调试的问题,特此研究了一下,第一种就是去下载一个win系统的调试器,由于本人新手不知道怎么传文件,那个名字叫dbg_x86_6.11.1.404.msi但是那个只是32位系统的,我的电脑64位,安装了还是不能调试,究其原因是vs2013自身的调试器不会主动暴露给Qt,所以我们要下载一个新的sdk,
2016-08-31 18:05:33 1452
转载 C++时时读取txt文件
/* * File: readuntil.cpp * Author:yy * * Created on 2013年8月30日, 上午10:44 */ #include #include #include #include #include #include using namespace std;
2016-08-31 18:02:27 489
win32版贪吃蛇源码,值得新手学习,框架清晰,方便添加功能
2017-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人