关闭
当前搜索:

WINDOWS+CMAKE+VS2017编译OLLVM并整合到VS2017 NDK

OLLVM全称Obfuscator-LLVM,即基于LLVM框架的源码级别混淆工具,相比机器指令混淆,源码级别混淆无需关心底层指令差异(由编译器生成),因而更具兼容性和拓展性,对程序流程的控制更为全面,同时也易于理论研究的展开。         本文编译的OLLVM来自Github上的开源项目https://github.com/Qrilee/Obfuscator-LLVM,作者博文https:...
阅读(41482) 评论(4)

实现Android ARM64平台下Inline Hook框架

Android阵营新出机型的cpu基本都是64位了,虽然可以向下兼容armeabi-v7a,但是使用32位的so毕竟不能充分发挥64位cpu的潜力,所以以后arm64-v8a用的会越来越多。但是整个安卓生态圈似乎还没有开源发布的ARM64内联HOOK方案,所以自己动手写了个,姑且取名And64InlineHook吧,需要注意的是仍然是Alpha版。         关于Inline Hook的背...
阅读(49065) 评论(1)

【OpenCV3.3】SVM与字符分类示例

SVM,全称Support Vector Machine,即支持向量机,是机器学习中常用的分类器(同样支持向量回归),属监督式学习的一种。         在二值分类中,SVM通过寻找一个 决策最优分类超平面 来尽可能地将两类样本分开(最大分类间隔)并作为分类的判据,以期得到较强的泛化能力,我们所指的训练(train)主要就是寻找这个超平面。如果你看过相关推导,会发现原本复杂的问题被一步步等价,...
阅读(9102) 评论(0)

【OpenCV3.3】特征值、奇异值分解与图像矩阵重构

在图像处理方面,矩阵分解被广泛用于降维(压缩)、去噪、特征提取、数字水印等,是十分重要的数学工具,其中特征分解(谱分解)和奇异值分解是两种常用方法,本文简单介绍如何在OpenCV中使用它们对图像进行分解,然后重新构造图像。       本文不会阐述两种分解的数学背景知识,但是为了方便读者唤醒记忆,会先贴出(部分)数学定义,详细的介绍和证明建议阅读矩阵理论相关书籍或者参考资料。...
阅读(9468) 评论(0)

【OpenCV3.3】通过透视变换矫正变形图像

在平面图像处理中,因为镜头角度等原因,容易导致图像出现倾斜、变形等情况,为了方便后续处理我们常常需要进行图像矫正,其中主要技术原理是两种变换类型--仿射变换(Affine Transformation)和透视变换(Perspective Transformation)。         仿射变换是二维坐标间的线性变换, 故而变换后的图像仍然具有原图的一些性质,包括“平直性”以及“平行性”,常用于...
阅读(11890) 评论(1)

【OpenCV3.3】检测图像中的身份证区域

假设现有一些含身份证前景以及不确定背景的图像,想通过计算机将身份证区域检测出来,实现诸如用户拍照定位提示、背景分离等业务,用OpenCV该如何做呢?如果输入图像前景和背景同时具有一定区分度,并且没有光照污染(即均匀光照),那么本文介绍的方法似乎是一种较快的检测方案(因为对输入图像要求比较严格, 故计算量少)。         首先我们来看看一些例子(来自互联网):         ...
阅读(12268) 评论(2)

【OpenCV3.3】搭建VS2017+Android开发环境

在上一篇 【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境 中我们搭建了OpenCV的Windows开发环境,现在我们来搭建Android的C++开发环境(当前版本直接使用官方提供的SDK)。...
阅读(15296) 评论(0)

【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境

OpenCV 3.3在8月3号正式Release,带来了许多优化改进和新特性,包括备受关注的深度神经网络(DNN)模块被正式引入主仓库,标志着OpenCV对DNN有了更深层次的优化与支持; 支持通过宏ENABLE_CXX11启用对C++ 11特性的支持;默认包含大量SSE4.X和AVX/AVX2指令集优化;内置Intel IPP版本升级至2017.2,官方测试显示有近15%的性能提升......
阅读(23091) 评论(18)

Microsoft Visual Studio 2017 Supports Intel® AVX-512

Intel® AVX-512提供了32个程序可见的512位宽向量寄存器以及8个专用屏蔽寄存器, 支持的数据宽度是AVX/AVX2的两倍并能和AVX保持完美兼容而不带来性能损失, 是向512位SIMD支持跨出的巨大飞跃。VS 2017 v15.3也宣布增加了对Intel® AVX-512的编程支持,在这篇文章中,对比了未优化的C版本快速排序和使用Intel® AVX-512指令优化的快速排序,后者的性能平均提升了近十倍...
阅读(16577) 评论(0)

Win10下配置Hyper-V虚拟机通过NAT或桥接方式联网

首先确保为虚拟机启用了Integration Services, 并在虚拟机内安装了相关组件, 否则可能会遇到网卡无法识别的情况. 安装方法用CDROM挂载vmguest.iso, 在虚拟机里面打开该盘并找到setup.exe进行安装. 附上vmguest.iso下载链接:http://pan.baidu.com/s/1hrDvxlU密码:zxk4 和其他虚拟机产品一样, Hyper...
阅读(70898) 评论(4)

VS 2015 Update 2 构建 Android 程序遇到的一些问题

自VS2015起, Visual Studio开始逐渐内置支持跨平台开发, 并且Visual Studio团队还额外发布了一个编译工具集Clang with Microsoft CodeGen, 方便开发人员进行跨平台代码的开发, 该工具集在VS 2015 Update 2时采用的 Clang 版本号是3.7. 与此同时VS的移动开发能力也不再局限于Windows Phone, 而是支持了包括Android, iOS在内的主流平台的应用开发.本文就搭建过程中遇到的一些问题作个小结, 并不定时更新....
阅读(54204) 评论(4)

VirtualBox+Win10搭建android-x86_64调试环境

完整概述如何在VirtualBox+Windows 10环境下搭建android-x86_64调试环境...
阅读(20262) 评论(0)

Stroustrup专访:畅想C++17

最近,Bjarne Stroustrup(设计并最初实现C++的作者)公开的一份草案引发了一场激烈讨论,讨论的话题围绕着C++17的设计目标以及可能加入的新特性。据Stroustrup说,C++17将会有以下三个设计目标: 改善对大规模可靠软件的支持。 支持更高级的并发模型。 简化语言核心。 针对以上的每个设计目标,Stroustrup列举了可加入C++17的新特性...
阅读(13601) 评论(0)

cocos2d-x v3.6 使用TMXLayer::getTiles遍历瓦片地图块

this->_map = TMXTiledMap::create(tmxFile); this->_barriers = this->_map->getLayer("barriers"); this->_states->setVisible(false);//如果直接在editor中设置invisible, getLayer会返回nullptr // find auto layerSize...
阅读(16025) 评论(1)

cocos2d-x v3.6 根据png序列图创建animation

之前都是使用TP格式化swf来创建动画,今天遇到了个问题,我拿到的动画序列图是合成好的一张png。没有plist文件。悲催... 现在只好自己画区域创建动画。 先看看png序列图。我就随便拿一个来用用。(先说明哈,该图是我从一个android游戏里面抽出来的。无侵权之意。)   Texture2D *playerRunTexture = Director::getInstance()...
阅读(13381) 评论(1)

dalvik下替换so简单dump出梆梆加固保护的odex

本文介绍了一种在dalvik虚拟机下简单可行、通过替换so实现的梆梆加固脱壳的方案, 不需要定制ROM、不需要动态调试, 并且由于掌握了代码主动权, 可以进一步深入进行抽离类还原、资源修复等工作。...
阅读(15475) 评论(0)

通用型C/C++程序性能测试Benchmark的简单实现

在完成一个算法的改进后, 除了人工估算时间复杂度外, 我们可能还希望直观地检测改进效果, 现有的性能分析工具比如Intel® VTune™ Amplifier自然满足需求, 然而有时候使用第三方工具的成本却可能超出我们的所需(也许我们仅仅需要大概地对比便能得到结果), 或者我们希望能在代码中控制测试流程, 这时写一个Benchmark便是首选了.      本文实现了一个简单的通用型Benchm...
阅读(25369) 评论(0)

分支预测(Branch Prediction)

分支预测(Branch Prediction)是现代处理器用来提高CPU执行速度的一种手段, 其对程序的分支流程进行预测, 然后预先读取其中一个分支的指令并解码来减少等待译码器的时间....
阅读(27425) 评论(1)

内存伪共享(False Sharing)

博主注:在考虑优化多线程并发的内存使用场景时, 由于CPU缓存机制不尽相同, 建议至少确保有128字节距离, 一般通过设置不使用哑元(dummy)或者跨区分配来避免命中同一缓存行, 以减少不同处理器由于缓存行相同造成的缓存行频繁载入和剔除的性能消耗.   缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个...
阅读(16516) 评论(0)

LTE: RLC介绍(不包含AM模式)

第1章  RLC       RLC层位于PDCP层和MAC层之间。它通过SAP(Service AccessPoint)与PDCP层进行通信,并通过逻辑信道与MAC层进行通信。每个UE的每个逻辑信道都有一个RLC实体(RLC entity)。RLC实体从PDCP层接收到的数据,或发往PDCP层的数据被称作RLC SDU(或PDCP PDU)。RLC实体从MAC层接收到的数据,或发...
阅读(12397) 评论(0)
175条 共9页1 2 3 4 5 ... 下一页 尾页
    联系作者
    通过QQ与我联系(全天候7*24小时基本不在线)
    最新评论
    免责声明
    如果转载的文章侵犯了您的版权,请务必告知,我将立刻删除;
    博客所有文章允许转载,原创类不要求注明出处,随意就好;
    如果是转载的文章,建议直接转载原始来源,因为原作者极可能有更新