c++
p312011150
这个作者很懒,什么都没留下…
展开
-
听说安卓微信 7.0 不能抓 https?
前言最近公司有个小程序要提测,研发提测,体验,发现有个疑似bug的东西,想着抓包看下是不是接口数据的问题,结果问题出现了,按照以前的常规操作,打开fiddler,设置ip代理(https证书已经安装了),结果一看,fiddler居然这样显示:再看看手机,居然没数据?:一脸疑问号,一开始以为是自己问题,折腾半天,不对,之前都是没问题的话,同样的环境,同样的设备,有毒?...转载 2019-12-04 11:43:50 · 1096 阅读 · 0 评论 -
C语言的变量的内存分配
今晚看了人家写的一个关于C语言内存分配的帖子,发现真是自己想找的,于是乎就收藏了。。。先看一下两段代码:char* toStr(){ char *s = "abcdefghijkl"; return s;}int main(){ cout << toStr() << endl; return 0;}和char* t...转载 2019-11-13 10:13:16 · 609 阅读 · 0 评论 -
十大开源游戏引擎深入比较(转)
在国内外,业界盛传有十大开源游戏引擎,分别是OGRE、Irrlicht、Panda3D、Crystal Space、jME、Blender Game Engine、Reality Factory、The Nebula Device 2、RealmForge、OpenScene- Graph。我们对这十款开源游戏引擎深入进行分析。(1) OGRE是面向对象图形渲染引擎(Object-Orient转载 2017-07-12 15:40:16 · 942 阅读 · 0 评论 -
CEF:给客户端内嵌一个Chrome吧
2014-01-23 20:02 13051人阅读 评论(2) 收藏 举报 分类:C++(5) 目录(?)[+]CEF是什么CEF是Chromium Embedded Framework的缩写,是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Max平台。除转载 2017-07-12 15:41:17 · 1478 阅读 · 0 评论 -
c++ float 保留两位小数
#include #include using namespace std;int main(){ float a = 10.4234; //第一种方式,从根本改变输出流 cout //第一种方式,常规型 cout //第三种方式,全局整体型 cout.precision(2); cout转载 2017-12-04 11:38:18 · 12751 阅读 · 3 评论 -
使用c++实现一个FTP客户端(一)
之前使用c++实现了一个FTP客户端,在这里做一些记录。 一、需要注意的几点 ①FTP是一种文件传输协议,基于TCP,所以客户端与服务器建立的连接是可靠、安全的,并且要经过三次握手的过程。 ②FTP传输数据默认采用二进制模式,即将文件内容转换为二进制表示后再传送,而若HTML等文本文件传输时需要转换成ASCII模式。 ③FTP客户端在连接服务器时转载 2017-12-06 13:08:31 · 6562 阅读 · 0 评论 -
使用c++实现一个FTP客户端(二)
接上篇http://www.cnblogs.com/jzincnblogs/p/5213978.html,这篇主要记录编程方面的重点。 客户端使用了Windows Socket提供的API,支持上传、下载、删除、查看文件,断点续传,二进制/ASCII模式切换,被动模式切换,记录操作日志等功能。 代码包含的类如下: ①MySocket类,对SOCKET进行了简单的封转载 2017-12-06 13:09:24 · 3430 阅读 · 0 评论 -
使用c++实现一个FTP客户端(三)
接上篇:http://www.cnblogs.com/jzincnblogs/p/5217688.html,这篇主要记录编程过程中需要注意的地方以及遇到的一些问题及解决方法。 一、gethostbyname(),inet_ntoa()等函数已经过时 使用上面两个函数时编译器会报错并提示函数已经是过时的了(obsolete),应该用getaddrinfo()与InetNtop转载 2017-12-06 13:10:05 · 5163 阅读 · 0 评论 -
C++ const用法 尽可能使用const
C++ const用法 尽可能使用const C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量 1 #include 2 using namespace std; 3 int main(){转载 2017-11-27 18:27:12 · 721 阅读 · 0 评论 -
模块加载失败 请确保该二进制文件在指定的路径中 找不到指定的模块
编写了一个桌面右键菜单的的Shell扩展,为了验证是否与其它系统是否兼容,故用虚拟机分别安装了Win7的64位和32位,XP的32位系统,结果注册时出现了以下问题。反复检查,路径肯定是对的,dll模块在开发机上也没有问题,权限也使用了管理员权限。最后没有办法,就在虚拟机上安装了VS并编译程序,结果这下又能注册成功了。锁定问题为环境配置,将项目配置属性--->转载 2018-01-25 16:33:36 · 68501 阅读 · 3 评论 -
c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控件的后缀名是OCX或者DLL。一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成O转载 2018-01-26 09:41:40 · 174 阅读 · 0 评论 -
浏览器插件之ActiveX开发(一)
浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题。在有特殊需求(如涉及数据安全的金融业务数据交互、需插件才能实现的与本地设备的交互等)的情况下可以酌情慎用。 浏览器插件总体可以划分为两大阵营,即IE支持的插件以及非IE支持的插件。本来在Netscape时代,对转载 2018-01-26 09:42:47 · 3039 阅读 · 0 评论 -
浏览器插件之ActiveX开发(二)
浏览器插件之ActiveX开发(二) 按照上文《浏览器插件之ActiveX开发(一)》的步骤,能开发一个基于MFC的简单的ActiveX控件。不过在实际操作中还是会遇到一些问题。由于对COM编程了解得很少很少,有些问题我也没有找到很好的解决方法。 一、ActiveX需要引用其他dll的问题 我们的ActiveX需要对IC卡设备进行读写,所以需要调用设转载 2018-01-26 09:43:42 · 234 阅读 · 0 评论 -
浏览器插件之ActiveX开发(三)
浏览器插件之ActiveX开发(三) ActiveX插件如果想在Html中进行引用,必须先对插件ocx文件进行注册,即通过regsvr32将该控件注册到用户的操作系统里。在实际应用中,一般有两种方式来达到这个目的: 一、通过安装程序注册ActiveX 这种方式非常直观,就是制作一个简单的安装程序,该安装程序的任务就是将打包的ocx文件及其依赖文件解压复转载 2018-01-26 09:45:16 · 235 阅读 · 0 评论 -
浏览器插件之ActiveX开发(四)
浏览器插件之ActiveX开发(四) 简单总结一下前几篇文章的内容,《浏览器插件之ActiveX开发(一)》简单介绍了一下如何在Vs.net 2008下用C++开发基于MFC的ActiveX插件,《浏览器插件之ActiveX开发(二)》介绍了开发插件时可能遇到的问题,《浏览器插件之ActiveX开发(三)》介绍了如何注册插件以及如何打包成cab文件。但是,到目前为止还没有专门提及如何转载 2018-01-26 09:46:24 · 306 阅读 · 0 评论 -
浏览器插件之ActiveX开发(五)
浏览器插件之ActiveX开发(五) 前面四篇文章都是在描述如何用C++开发基于MFC的ActiveX插件以及如果对插件进行打包和在Web页面中调用,但确忽略了一个非常重要的问题:代码签名。《浏览器插件之ActiveX开发(三)》提及了两种注册插件的方法,其中IE自动下载并注册插件的方法就涉及到签名问题,如果cab包是未签名的或签名不被信任的,IE就拒绝注册该插件。 一转载 2018-01-26 09:47:28 · 179 阅读 · 0 评论 -
PPAPI开发之路(一)环境配置
前言:本文在已有博文的基础上根据自身需要进行一定的修改补充,感谢原文作者。在这附上参考文章链接:http://www.cnblogs.com/snowyying/p/5458765.html当前系统版本为 Windows 10 x64, Chrome 版本为 58.0.3029.110 0. 准备前工作Microsoft Visual Studio为英文版,如果目前是中文版转载 2018-01-26 10:01:07 · 1479 阅读 · 0 评论 -
PPAPI开发之路(二)在VS 2013上编译media_stream_video例子
本例子工程代码下载地址:http://download.csdn.net/detail/y601500359/9862413一、源码路径例子源码在你nacl_sdk安装目录下,比如我的是:E:\SDK\nacl_sdk\pepper_49\examples\api\media_stream_video二、新建vs项目1、新建一个名为med转载 2018-01-26 10:02:09 · 894 阅读 · 0 评论 -
PPAPI开发之路(三)通过本地服务发布例子:media_stream_video的PPAPI
前言:在进行下文之前,先介绍下发布PPAPI的几种格式 :Chrome PPAPI插件只能使用PPAPI接口的NativeClient(NaCl)方式编写,Native Client分别有三种embed类型: 1、“application/x-ppapi”:平台相关,唯一能直接使用win32 api的platfrom(有功能上的限制)。 dll格式转载 2018-01-26 10:02:53 · 634 阅读 · 0 评论 -
FFmpeg的使用
最近因为要音频处理的研究,音频开发,但是有一个难题就是怎么解析与提取音频的数据,于是就找到了FFmpeg。基本上只要做视频音频开发都离不开ffmpeg1.什么是ffmpeg引用wiki百科的解析.FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能1,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换...转载 2018-06-29 10:38:36 · 174 阅读 · 0 评论 -
FFmpeg 基本用法
FFmpeg 基本用法本课要解决的问题1.FFmpeg的转码流程是什么?2.常见的视频格式包含哪些内容吗?3.如何把这些内容从视频文件中抽取出来?4.如何从一种格式转换为另一种格式?5.如何放大和缩小视频?6.如何旋转,翻转,填充,裁剪,模糊,锐化视频?7.如何给视频加logo,删除logo?8.如何给视频加文本,动态文本?9.如何处理图片?10.如何录像,添加动态logo,截图,马赛克视频?第一...转载 2018-06-29 10:51:40 · 201 阅读 · 0 评论 -
ffmpeg开发指南
FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。 一、ff...转载 2018-06-29 11:03:10 · 303 阅读 · 0 评论 -
voip开源库
最新要做一个移动端视频通话软件,大致看了下现有的开源软件转一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server.2)优缺点:NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实现符合IC...转载 2018-06-29 11:19:50 · 429 阅读 · 0 评论 -
C++中的inline用法
1. 引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看一个例子:#includ...转载 2018-06-29 14:06:23 · 122 阅读 · 0 评论 -
DES加密算法的C++实现
《信息安全技术》这门课又在讲 DES 加密算法了,以前用纯C写过一次,这次我用 C++ 重新写了一个,写篇文章以备后用。本文介绍了 DES 算法加密的大致步骤和整体流程。一、DES算法原理DES算法是一种最通用的对称密钥算法,因为算法本身是公开的,所以其安全性在于密钥的安全性。基于密钥的算法通常有两类:对称算法和公开密钥算法。对称算法的对称性体现在加密密钥能够从解密密钥推算出来,反之亦然。在大多数...转载 2018-06-28 19:20:09 · 5865 阅读 · 0 评论 -
AES加密 C++调用Crypto++加密库 例子
这阵子写了一些数据加密的小程序,对比了好几种算法后,选择了AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),听这名字就很厉害的样子估计会搜索到这文章的,对AES算法已经有了些基本了解了吧,下面先简单介绍一下AES加密算法吧(1)AES在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。2006年,高级加密标准已然成为对称密...转载 2018-06-28 19:20:36 · 2713 阅读 · 1 评论 -
视频播放器SunPlayer开源啦
SunPlayer是我的一个练手项目,它是一个视频播放器。核心播放部分是ffplayer(https://github.com/rockcarry/ffplayer),ffplayer是对ffmpeg的一个c封装,详情请转到github查看。UI部分使用的Troy维护的Duilib(https://github.com/qdtroy/DuiLib_Ultimate),还有一个版本UI使用的QT5。...转载 2018-06-29 10:35:50 · 1503 阅读 · 0 评论 -
c++中冒号(:)和双冒号(::)的用法
1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。struct _XXX{_XXX() : y(0xc0) {}};(3) p...转载 2018-07-24 09:15:08 · 259 阅读 · 0 评论 -
CEF Windows开发环境搭建
CEF,Chromium Embedded Framework的缩写。CEF 的官网介绍的很简洁:A simple framework for embedding chromium browser windows in other applications。具体地说就是一个可以将浏览器功能(页面渲染,JS 执行)嵌入到其他应用程序的框架。感兴趣的看这里:https://bitbucket.org/...转载 2018-07-18 23:47:52 · 356 阅读 · 0 评论 -
完成端口IOCP详解
原文地址:https://www.cnblogs.com/talenth/p/7068392.html修改自: http://blog.csdn.net/piggyxp/article/details/6922277ps: 原作者很厉害了, 把一个iocp模型讲解的这么形象,不过在实践过程中发现一些细节说得有问题, 在文中标红指出, 另外删掉了原文中一些我认为有些多余的话 ...转载 2018-07-25 14:41:43 · 769 阅读 · 0 评论 -
VS编译缺少unistd.h头文件
许多在Linux下开发的C程序都需要头文件unistd.h,但VC中没有这个头文件,所以用VC编译总是报错。把下面的内容保存为unistd.h,可以解决这个问题。/** This file is part of the Mingw32 package.* unistd.h maps (roughly) to io.h*/#ifndef _UNISTD_H#define _UNIST...转载 2018-07-29 17:29:52 · 18076 阅读 · 3 评论 -
C语言itoa()函数和atoi()函数详解(整数转字符C实现)
C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。1.int/float to string/array:C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。● itoa():将整型值转换为字符串。● ltoa():将长整型值转换为字符串。● ultoa():将无符号长整型值转换...转载 2018-07-29 18:42:53 · 84588 阅读 · 2 评论 -
为什么要学习Linux及其学习路线
1.《Linux程序设计》- 靠它来入门,然后装一个linux体系,练习shell(party)和linuxC,把基础打牢;2. 《深入理解Linux内核》和《Linux内核设计与告竣》:后者我已经粗粗看过一遍,值得细看,前者必需尽快看完;3. 《Linux设备驱动设计》:必买必看,适用性强;4.《Advsome kind ofced Progri aming in Unix Envirem...转载 2018-08-03 18:14:58 · 4287 阅读 · 0 评论 -
int (*fn)(void *)
fn为一个指针类型的变量,此指针类型指向一个函数。该函数的原型类似这样:int function(void *);我们可以这样使用它:#include<stdio.h>int function(void *p){}main(){int(*fn)(void*)=function; //此处用&function也是可以的。fn("helloworld");// ...转载 2018-08-09 11:35:23 · 1231 阅读 · 0 评论 -
_beginThreadex的用法
建议创建线程应该用_beginThreadex,ripple里面就是用的这个。例子如下://sipvoiplink.hclass SIPVoIPLink{private: static unsigned __stdcall ReceivingThrd(void * pParam);}//sipvoiplink.cpp‘#include <...转载 2018-08-09 15:53:33 · 26589 阅读 · 1 评论 -
GPU的介绍 以及原理的分析
1 GPU是什么 如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片。显卡的处理器称为图形处理器(GPU),它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的。 GPU计算能力非常强悍,举个例子:现在主流的i7处理器的浮点计算能力是主流的英伟达GPU处理器浮点计算能力的1/12。图1...转载 2018-08-10 13:20:17 · 533 阅读 · 0 评论 -
Win10下搭建Vs2017+CUDA开发环境
最近开始进行机器学习相关的学习,TensorFlow下CPU的计算速度实在是不理想,需要引入CUDA对于GPU的支持,由于已经有了的Vs2017的环境,在此基础上安装CUDA9.1版本碰到了一些小问题,在此跟大家分享其中的一些坑。 CUDA可以在NVIDIA官网根据自己的操作系统以及需要的版本进行下载,下载后在安装的过程中,建议使用默认安装路径,安装过程中如果出现错误,请不要着...转载 2018-08-10 23:33:11 · 17482 阅读 · 2 评论 -
为什么Erlang比C慢那么多倍?
Erlang 一直以慢“著称”,本文就来看看 Erlang 慢在什么地方,为什么比实现同样功能的 C 语言程序慢那么多倍。Erlang 作为一种虚拟机解释的语言,慢是当然的。不过本文从细节上分析为什么 Erlang 这种虚拟机语言会慢。本文从 shootout benchmark[注1]中选择了一个 Erlang 和 C 语言单核性能差距最大的例子——reverse complement[注2...转载 2018-08-08 10:59:52 · 1074 阅读 · 0 评论 -
进程如何分辨谁在kill()自己
少对于Linux、FreeBSD、Solaris、AIX这四种操作系统,有一种办法。不要安装传统sa_handler信号句柄,而是安装sa_sigaction信号句柄。细节请man sigaction并参照头文件加强理解。下面是一个可移植演示程序。-------------------------------------------------------------------...转载 2018-08-22 11:58:59 · 655 阅读 · 0 评论 -
关于sigaction 的 SIGPIPE 信号
我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.具体的分析可以结合TCP的"四次握手"关闭. TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点...转载 2018-08-23 12:00:01 · 581 阅读 · 0 评论