随笔分类 - windows编程开发
Windows系统下编程相关
摘要:简介 1、这段代码只考虑在小端序情况下的转换(一般的机器都是的)。 2、这段代码需要C++11的支持(只是用到了 ),如果不支持,可以添加下面代码 utfconvert.h utfconvert.cpp cpp include "utfconvert.h" include ifdef __GNUC_
阅读全文
摘要:简述 在做某个小程序时候用到了QT,而用的Qt是mingw版本的,所以使用mingw构建了一下 库。 1、准备工作 首先需要先安装好 ,这里直接使用 "http://www.mingw w64.org" 里面下载的安装器。 下载之后进行安装,根据你的需求,可以选择64位版本或者32位版本。 如果是安
阅读全文
摘要:1、起因 早前把VS2015卸了,安装了VS2017。因为VS2017安装的时候可以选择安装VS2015编译套件,也就安装了。使用上一直没有什么问题,所以也没有注意到这个细节。 后来使用cmake生成项目工程文件的时候,选择VS2015编译器,却提示找不到C编译器。 2、解决 原本以为是环境变量没有
阅读全文
摘要:VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式。RocksDB 基于 LevelDB 构建。 1、下载rocksdb源码 2、使用CMAKE生成VS工程
阅读全文
摘要:测试环境简单说明 Windows下测试 硬件环境如下: 处理器:Intel(R) Core(TM) i5 4460 CPU @ 3.20GHz 内 存:8GB 硬 盘:希捷 ST1000DM003 操作系统:Windows 10 企业版 编译说明: 两个都是使用VS2015编译的64位Release
阅读全文
摘要:VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中。如果有简单的key value数据库需求,而又想使用一个数据库服务的话,levelDB是非常合适的。(BerkeleyDB和forestdb也不错)。 本文不适用于VS2013及更低版本
阅读全文
摘要:开发一个跨平台的项目的时候,大部分时候都是在VS下进行编码,所以也就使用了VS的解决方案来管理项目。 因为要跨平台,当时网上看 这个工具不错,所以在linux下就使用了 来作为编译脚本。 linux(gcc)下与windows(vs)下的对于链接这一步稍有不同。当目标文件是一个(共享)库的时候,VS
阅读全文
摘要:简要说明 大致情况是这样的: 程序 引用动态库 和`libB libA libB libShared libStatic libShared libStatic`中都含有静态变量。现在就是看这个静态变量是否存在两份。 libShared libshared_global.hpp libShared.
阅读全文
摘要:Visual Studio (中文版)默认保存的文本文件是 编码(代码页936)的,默认的行尾(End of line)是CRLF的。 如果仅仅是在windows下开发问题也不大,但是涉及到跨平台开发的时候,就不是很满意了。 VS本身的 文件 高级保存选项 中是可以选择保存的编码和行尾的,但是不支持
阅读全文
摘要:关于CPUID指令,可以看维基百科的相关介绍 "https://en.wikipedia.org/wiki/CPUID" 在windows下可以调用 和`__cpuidex __cpuid`函数在VS2005中就已经开始支持了。 "https://msdn.microsoft.com/en us/l
阅读全文
摘要:VS2015编译boost1.62 库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调
阅读全文
摘要:简述 是一个扩展的 API,它允许在套接字连接上发送一个打开的文件。这使得应用程序可以避免亲自打开文件,重复地在文件执行读入操作,再将读入的那块数据写入套接字。相反,已打开的文件的句柄和套接字连接一起给出的,在套接字上,文件数据的读入和发送都在模式下进行。这就避免了多次的用户/内核模式切换。与lin
阅读全文
摘要:visual stuido 跨解决方案调试 一个解决方案是一个第三方库,另一个是单独的程序。调试的时候要同时跟踪源码。因为第三方库并没有直接使用它的源码,而是使用生成的dll,直接进行调试比较麻烦,会提示找不到源码。 解决办法如下: 1. 将第三方库和应用程序的生成目录设置为同一个目录(这只是避免每
阅读全文
摘要:Qt5.7中使用MySQL Driver 1、使用环境 Qt5.7的安装安装就已经带了MySQL Driver,只需要在安装的时候选择一下即可。 如果没有安装,可以采取自己编译的方式。 在Qt的源码包的 路径下,就是相关的源码文件。 这里就不说编译方式了。只是要记得在编译的时候,需要 的支持。 2、
阅读全文
摘要:1、下载mongo c driver源码文件 使用github来下载。 下载完之后,进入 目录下,下载`libbson的源码。 编译后的文件可以在这里下载 "mongo c driver win32 bin.7z" "mongo c driver win64 bin.7z" 2、编译libbson
阅读全文
摘要:获取qt5.6.0源码包 直接去www.qt.io下载就好了,这里就不详细说了。 这里是我已经编译好的 链接: "http://pan.baidu.com/s/1pLb6wVT" 密码: configure配置 1、进入源码目录下的 目录,打开文件 文件。添加 上面其实不做也可以,我就没有做。 2、
阅读全文
摘要:Visual Studio 2013 预定义的宏 https://msdn.microsoft.com/zh-cn/library/b0084kay(v=vs.120).aspx https://msdn.microsoft.com/zh-cn/library/b0084kay(v=vs.120).
阅读全文
摘要:Tiny Http Server 一个简单的跨平台Http服务器.服务器部分使用了Mongoose的代码,界面是使用QT开发的. 开发为了在临时需要使用一个http服务器来做发布代码文档的时候,不用去安装apache等大块头.又因为网上的一些迷你型的webserver又多是只支持windowns的.
阅读全文
摘要:net-snmp源码VS2013编译添加加密支持(OpenSSL) snmp v3 协议使用了基于用户的安全模型,具有认证和加密两个模块。 认证使用的算法是一般的消息摘要算法,例如MD5/SHA等。这一部分在net-snmp的源码中已经有相关的实现,无需再使用外部库来支持它。 加密使用的算法一般可以
阅读全文
