5 BestRiven999

尚未进行身份认证

我要认证

想到就开始做,还不算晚。

等级
TA的排名 18w+

C++ 压缩文件与解压文件

最近项目中用到文件压缩与解压,就了解了下这类知识。都说程序员是代码的搬运工,我也不例外。很快在网上找到了一些代码,比如zlib库,minizip等等。我在codeproject上找到了一个源码,简单明了。 zip utils----简单明了的C++接口。 地址: http://www.codeproject.com/Articles/7530/Zip-Utils-clean-elega

2017-12-05 18:15:30

dll、com 二进制模块封装内幕

DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序。作为一名面向对象的程序员,希望DLL可以导出类,以便在类的层次上实现复用。所幸的是,DLL确实也可以导出类。然而事实却没这么简单,导出类的DLL在维护和修改时有很多地方必需很小心,增加成员变量、修改导出类的基类等操作都可能导致意想不到的后果

2017-11-21 16:15:31

使用C++ REST SDK开发HTTP服务器

做windows开发的大家可能都已经知道了微软开源的代码C++ REST SDK。对于这个SDK的简介我就不多提了,度娘上很多。根据这个名字,大家应该就知道,这个SDK主要是给客户端开发的,网上也有很多客户端开发实用的例子。然而对于服务器的开发,网上的资料却少之又少。下面我们着重来介绍下使用C++ REST SDK开发HTTP服务器:一、首先大家应该准备编译环境,最少VS2013,因为该SDK

2017-10-26 17:28:36

C++中Json的用法(下)

上一篇咱们写了,发送请求时,怎么去拼装Json串,那么相对的,客户端发过来的Json串,怎么去解析,这也是同样重要的。接下来咱们就看看该怎么解析Json。其实相当于拼装Json的逆运算。同样的,在解析Json时,也会用到上一篇中提到的lib_json.lib这个库。对于简单的Json,可以直接进行解析,如:{    "status": "failed!",    "reason

2017-08-22 09:56:04

C++中Json的用法(上)

相信大家在编程中会经常接触Json,比如发送Http请求时通过Json来请求数据等等。首先我要告诉大家的是,在C++中,有现成的Json使用的库,如:lib_json.lib,大家需要的自取后进行编译生成https://github.com/open-source-parsers/jsoncpp/archive/0.10.6.zip。下面我就通过一个小例子来总结下我所用Json时所遇到的问

2017-08-21 18:46:23

AfxGetApp()->m_pMainWnd和AfxGetMainWnd()

今天在解决一个bug时关注到了这两个看上去貌似一样的东西:AfxGetApp()->m_pMainWnd和AfxGetMainWnd()。平时不用多线程时,都是随便用,用法上也没什么区别,也没去专门的研究。当有BUG存在时,才意识到。由于我是在多线程中使用,每次用AfxGetMainWnd来sendmessage时,都会崩溃,将AfxGetMainWnd提取出来设给一个pWnd时,调试显示的是

2017-05-25 17:43:20

关于动态库中在release下创建资源崩溃的问题。

相信大家在学习动态库(尤其是MFC动态库)的初期,肯定会遇到在DLL中创建资源崩溃的问题。今天小白就遇到了这个问题,搞了好些日子,终于想明白了是怎么回事,顺便来记录一下。造成这类崩溃错误的原因有很多种,比如,资源切换,ID错乱等。当然这些问题都比较好解决,一般加上HINSTANCE save_hInstance = AfxGetResourceHandle();AfxSetResour

2017-05-24 17:59:17

C++模板

C++ 模板模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。函数模板模

2017-05-19 20:13:21

C++命名空间

C++ 命名空间由于人类的单词有限,现在的大型程序开发,尤其是各种库之间,不可能没有重名的,而且大型程序不可能一个人完成,难免会有名字重复的变量或函数,这时就需要命名空间来区分。而且使用命名空间的情况一般都是公共库 ,其实函数都是全局的 ,就算弄一个类,也不是业务意义的类,弄命名空间更好,否则用类就要是静态函数。假设这样一种情况,当一个班上有两个名叫 Tim的学生时,为了明确区分它们,

2017-05-19 20:09:13

动态创建多维数组

数组的动态内存分配假设我们要为一个字符数组(一个有 20 个字符的字符串)分配内存,我们可以使用上面实例中的语法来为数组动态地分配内存,如下所示:char* pvalue  = NULL;   // 初始化为 null 的指针pvalue  = new char[20]; // 为变量请求内存要删除我们刚才创建的数组,语句如下:delete [] pvalue;        

2017-05-19 20:08:31

CEF无法加载flash的问题

3.2357版本之前,直接添加plugins目录到exe的同级目录,然后将flash插件dll放到plugins目录里就可以了。但是从3.2357之后的版本用同样的方式,却不能正常加载flash插件,原因是chromium从42之后就不默认支持NPAPI了(3.2357使用的chromium是43),如果需要支持的话,需要通过command line设置“--enable-npapi”。设置之后就

2017-05-18 12:04:52

TortoiseSVN设置比较工具为BeyondCompare

转自:http://blog.csdn.net/yasi_xi/article/details/8637680修改属性为:"C:\Program Files (x86)\Beyond Compare 3\BComp.exe" %base %mine /title1=%bname /title2=%yname /leftreadonly"C:\Program File

2017-05-18 09:56:02

C++中可以运行可执行文件的函数

有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。    WinExec主要运行EXE文件。  ⑴ 函数原型: UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);   ⑵ 参数:   lpCmdLine:指向一个空结束的字符

2017-05-17 10:52:11

CEF方面的研究(五) CEF中C++与JS交互

C++与JS的交互,相信不用多说,必是精髓。在写这篇博客之前,我不得不说之前遇到的一个问题:不管怎么搞,都不能回调到C++函数中。原因是什么呢?我没有实例化Cefapp。不实例化cefapp也能加载出页面,正常的进行显示,但是在js代码中写回调,回调不到C++中!为什么会犯这么低级的错误呢?实际上,在刚刚接触CEF代码时,真的是一头雾水,在网上各种抄代码,抄的最后“四不像”。以至于,自己的代码

2017-05-16 18:06:40

CEF方面的研究(四) CEF嵌入MFC对话框关闭崩溃问题解决办法

RT、相信有不少朋友在开发过程中都遇到了,关闭崩溃或者关闭后打开电脑任务管理器,还有进程存在的问题。这个问题把我也是快折腾疯了,毕竟存在这类崩溃或者资源卸载不掉的问题是不能用入项目中的,蛋疼的困扰了我半个多月的时间,当我把后面的东西全部做完时,又不得不拐过头来解决他,不然每天开会,就只能低下头来说:“还没解决”。好吧,废话不多说。咱们来看看是什么原因。原因一、库版本问题。相信大家在入CEF

2017-05-15 18:21:21

CEF方面的研究(三) 将CEF嵌入MFC对话框程序

前一段时间由于太忙,没有来得及更新。后来又遇到各种各样的问题,经过几经折腾吧,总算是搞定了。前面已经讲到如何编译出libcef_dll_wrapper.lib的库,今天咱们来看下将CEF嵌入MFC对话框。一、先建立一个MFC对话框的工程。在工程配置中,配置好与上一章配置libcef_dll_wrapper.lib相符的环境。比如我的就是:1、在共享DLL中使用MFC,2、运行库是:多线程调

2017-05-12 17:44:58

CEF方面的研究(二) CEF的工程搭建

上节咱们已经会下载CEF的官方代码了,今天咱们来看一下CEF的环境怎么搭建。在搭建之前,有的同学(编译器VS2010)可能会遇到编译官网代码出错的问题如这种错误是由于编译器不能隐形调用智能指针的get()函数而导致的,因此需要咱们显示的调用下,即在出错处加上.get()即可。(如果再有编译不过的,可以联系QQ592902419交流)编译通过后即可生成libcef_dll_wra

2017-04-24 17:40:31

无法打开预编译头文件:“x64\Unicode_Release\DYEBrowserCtrlHelper.pch”

一开始遇到这类问题时,总是看不出来原因,后来查资料才发现,这问题的原因是由于工程中你选择了使用预编译头,但是存在特殊情况(全部都是使用预编译头,没有创建预编译头的)。所以解决办法是:在stdafx.cpp的属性中将C/C++——预编译头那项改为“创建”即可。

2017-04-20 18:16:26

error LNK2005: DllMain 已经在 dllmain.obj 中定义的问题

创建动态库时,肯定有不少朋友会遇到这个问题LNK2005。根据问题的解释想到是重复定义的问题,由于自己创建工程中自己添加了动态库的入口函数:dllmain函数,与系统自带的函数冲突。那么怎么解决呢?其实很简单,在自己动态库工程中:C/C++——预处理器——预处理器定义中的USERDLL删掉就OK了。这样子就可以使用自己写的dllmain入口函数啦。

2017-04-20 17:55:43

C/MFC如何获得应用程序当前路径(整理)

第一种方法:DWORD GetCurrentDirectory(  DWORD nBufferLength,  // size, in characters, of directory buffer  LPTSTR lpBuffer       // pointer to buffer for current directory);BOOL SetCurrentDirector

2017-04-12 18:00:57

查看更多

勋章 我的勋章
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取