未分类
未分类
曹经纬
这个作者很懒,什么都没留下…
展开
-
基于OpenStack和Kubernetes构建组合云平台——网络集成方案综述
一谈到云计算,大家都会自然想到三种云服务的模型:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。OpenStack已经成为私有云IaaS的标准,而PaaS层虽然有很多可选技术,但已经确定统一的是一定会基于容器技术,并且一定会架构在某种容器编排管理系统之上。在主流的容器编排管理系统Kubernetes、Mesos和Swarm中,Kubernetes以它活跃的社区,完整强大转载 2016-09-27 22:33:57 · 610 阅读 · 0 评论 -
真正好用的RPC框架rest_rpc正式发布第一个版本
rest_rpc是由c++开源技术社区(purecpp.org)创建和发起的项目,在经过多次迭代和重构之后,终于发布第一个版本了。rest_rpc是modern c++开发的一个易用、灵活、跨平台和高性能的RPC框架。和国内外一些大公司开发的RPC框架相比,rest_rpc有哪些特色呢?rest_rpc的特点rest_rpc具备下面几个特点真的像本地函数一样调用转载 2016-09-27 22:28:47 · 507 阅读 · 0 评论 -
主流内存数据库对比
主要内存数据库对比 名称开源或商业主要特点Oracle TimesTen不开源,商业使用付费1. 符合RDBMS标准的独立内存数据库服务。2.支持SQL访问,支持ODBC&JDBC。3.本身不支持与非Oracle数据库的互操作。转载 2014-06-17 10:25:02 · 1087 阅读 · 0 评论 -
下一个云计算的大事件:谷歌拥抱Docker
北京时间6月10日消息,据Wired报道称,谷歌对当今最热门的云计算技术Docker给予了相当大的支持。“集装箱化思维”被运用在软件“运输”上,Docker可以看作是用代码编写出来的国际集装箱,它可以把任何应用及相关依赖项打包成一个轻量、可移植、自包涵式的容器。在谷歌看来,Docker也是一个足以改变人们创建软件方式的东西,它能让任何程序开发人员更轻松地、即刻地体会到海量计算性能的优势转载 2014-06-11 13:04:40 · 474 阅读 · 0 评论 -
使用vs2010和masm32搭建win32汇编语言编程编译环境
看到题目,就有人说了,masm32和RadASM搭配多好,绝配,你使virtual studio,纯是烧包。不错,vs在C语言上有语法高亮和自动填充,但是汇编就没有了。RadASM在汇编有同样功能,多好。但是有人就喜欢使用vs,那就用呗,提醒下,vs的windows控件很爽啊。好了,书说正传。一切从简。不知道什么是masm32?,呵呵,我也不知道,你别问我。原创 2013-12-14 13:59:46 · 3319 阅读 · 1 评论 -
伪代码的好处
伪代码(precode)就是指写代码时,用一个简单的算法甚至是一句std::count来替代还没实现的功能,达到可以跨过这一步,提前实现后面的功能。举例:unsigned int __stdcall CServerDlg::ThreadSimulateProc(PVOID lpParam){ ::AllocConsole(); // 打开控件台资源 freopen("CONOU原创 2013-12-16 16:22:41 · 2460 阅读 · 0 评论 -
C语言位运算详解
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1转载 2014-02-19 16:29:47 · 562 阅读 · 0 评论 -
第三方dll文件使用
这两天在做接收倚天财经行情的接口,一直被dll的调用和多字节、Unicode编码困扰着。现在问题总算解决了。值得一提的是,调用第三方的dll时,要记得把它拷到自己的当前工程下哦!原创 2013-12-27 15:29:13 · 660 阅读 · 0 评论 -
C\C++变量命名规范
变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则: 1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。2、 第一个字母必须是字母或者下划线开头。3、 不能使用C++关键字来命名变量,以免冲突。4、 变量名区分大小写。 变量命名规则:一、 用最短字符表转载 2014-02-10 11:32:42 · 590 阅读 · 0 评论 -
C#中的事件
C#中使用事件需要的步骤:1.创建一个委托2.将创建的委托与特定事件关联(.Net类库中的很多事件都是已经定制好的,所以他们也就有相应的一个委托,在编写关联事件处理程序--也就是当有事件发生时我们要执行的方法的时候我们需要和这个委托有相同的签名)3.编写事件处理程序4.利用编写的事件处理程序生成一个委托实例5.把这个委托实例添加到产生事件对象的事件列表中去,这个过程又叫订阅事件原创 2013-11-24 00:46:00 · 556 阅读 · 0 评论 -
LZW压缩算法
LZW压缩算法是Lempel-Ziv-Welch 3个人共同发明的,简称 LZW 的压缩算法,可以用任何一种语言来实现它.LZW是GIF图片文件的压缩算法,而且zip压缩的思想也是基于LZW实现的,所以LZW对文本文件具有很好的压缩性能。LZW压缩算法的基本原理:提取原始文本文件数据中的不同字符,基于这些字符创建一个编码表,然后用编码表中的字符的索引来替代原始文本文件数据中的相应字符,转载 2013-12-18 15:47:17 · 1070 阅读 · 0 评论 -
C++中的用来调试的宏
// DebugMaroc.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){#ifdef __STDC__ printf("standar c\n");#elif defined __cplusplus printf("cplusplus\n");#endif原创 2014-01-15 15:02:06 · 602 阅读 · 0 评论 -
boost中的asio实现定时器功能
#include #include #include #include #include int iWaitMicroSenconds = 1000000;static void OnTimer(const boost::system::error_code& /*e*/, boost::asio::deadline_timer* t){ std::cout << "OnTi原创 2013-11-23 16:49:59 · 1003 阅读 · 0 评论 -
如何快速学习、掌握、使用新技术
一、baidu、google找Demo若干二、把环境变量配置好,确保程序正确运行三、直接看Demo中的代码,把不懂的记录下来四、然后结合教材、博客、文档等学习基础知识点,并逐步弄懂Demo中的代码五、掌握的基本知识后,就可以到各种开源网站去进一步研究学习该技术的精妙和高深之处了。原创 2013-11-22 15:34:20 · 623 阅读 · 0 评论 -
开源许可证
如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。转载 2014-05-14 13:13:47 · 454 阅读 · 0 评论 -
.rc error rc2135 file not found .tlb - 解决方法
Under the Resources tree (which is under Configuration Properties),click "General" and make sure that for Additional Include Directories,you've specified "$(IntDir)" for additional include directo转载 2015-02-09 17:48:39 · 3715 阅读 · 1 评论 -
malloc、free与内存碎片
malloc和free大量使用后回造成内存碎片,那么这种碎片形成的机理是什么?如果机理是申请的内存空间大小(太小)所形成的,那么申请多大的区域能够最大限度的避免内存碎片呢(这里的避免不是绝对的避免,只是一种概率)? 内存碎片一般是由于空闲的连续空间比要申请的空间小,导致这些小内存块不能被利用.产生内存碎片的方法很简单,举个例: 假设有一块一共有100个单位的连续空转载 2015-01-30 15:27:55 · 661 阅读 · 0 评论 -
MYSQL启动问题的解决
MYSQL启动不了的问题.具体表现如下:不管是直接双击mysqld.exe还是在命令提示符不都是没反应.(XP系统) 然后尝试 控制面板 >>> 管理工具 >>> 服务 >>> mysql 方法启动,弹出提示框就进程意外终止.郁闷了...... 只好卸载了mysql重装,结果发现问题没解决.去请教别人竟得到重装系统的提示.开始抓狂了......原创 2014-11-26 10:26:00 · 434 阅读 · 0 评论 -
Activex、OLE、COM、OCX、DLL之间的区别
熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来像对象,但不符合对象的学术转载 2014-11-26 16:38:44 · 395 阅读 · 0 评论 -
VC++工程中使用C文件
C头文件中:#ifdef __cplusplusextern "C" {#endif原创 2014-11-17 11:29:26 · 739 阅读 · 0 评论 -
VS2010下编译sqlite3
首先下载源码,http://www.sqlite.org/download.html中第一个下载文件就是,下载sqlite-amalgamation-3071000.zip,当前版本是3.7.10,里面包含了四个文件,sqllite3.h、sqlite3.c、sqllite3ext.h、shell.c,shell.c暂时不用,由于源码中没有包含def文件,所幸其dll版本中包含了def文件,所以需转载 2014-06-17 13:20:57 · 499 阅读 · 0 评论 -
程序自动更新流程图
原创 2014-07-02 10:53:10 · 973 阅读 · 0 评论 -
VS2013调试中如何看函数的上一级的调用
原创 2014-06-24 10:22:24 · 1598 阅读 · 0 评论 -
C#中internal关键字的作用
我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。如果你记录日志的程序集是这么定义的namespace LogerHelper { internal class aa {转载 2013-11-24 00:08:30 · 610 阅读 · 0 评论 -
完美的C++/CLI
什么是C++/CLI呢?C++当然指的是Bjarne Stroustrup在BELL实验室发明的C++语言,它实现了运行时取得速度和尺寸最佳化的静态对象模型,然而它除了堆分配外不支持程序的动态修改,它准许无限地接近底层设备,但在程序运行过程中几乎无法操作活动类型,也无法操作与程序相关联的底层结构。Herb Sutter,C++/CLI的主要构造者之一,称C++是一门“混凝土”式的语言。转载 2013-11-24 01:57:45 · 627 阅读 · 0 评论 -
VS动态库下动态库使用的环境配置
VS动态库下动态库使用的环境配置1.1 使用开源动态库 如boost库环境变量配置:右键单击该项目 --> 属性 --> 配置属性 --> VC++目录 --> 包含目录 && 库目录,添加boost库的.hpp文件目录和.lib文件目录 或: 右键单击该项目 --> 属性 --> 配置属性 --> C/C++ --> 常规 --> 附加包含目录,添加boost库的.hpp文件目原创 2013-12-17 13:41:42 · 818 阅读 · 0 评论 -
protobuf repeated的用法
//User.protopackage ProtoMessage;message User{ required uint32 ID = 1; required string name = 2;}message UserList{ repeated User user = 1;}message RoomList{ repeated string原创 2014-03-18 14:05:26 · 8089 阅读 · 1 评论 -
时差转换的陷阱
如果差8个时区,错误的做法:time_t rawtime = _mthst.createTime;tm* timeinfo = new tm;localtime_s(timeinfo, &rawtime);timeinfo->tm_year += 1900;timeinfo->tm_mon += 1;timeinfo->tm_hour -= 8;正确的做法t原创 2013-12-23 11:40:25 · 584 阅读 · 0 评论 -
Windows线程同步方式
WIN32 API虽然提供了CreateThead和ExitThread方法,但是在C++中,永远不应该使用这两个方法创建或结束线程。而应该使用VC++提供的_beginthread、_beginthreadex方法,相应的结束线程方法_endthread、_endthreadex。后者除了在内部调用CreateThread或ExitThread方法外,还负责CRT的初始化或销毁。虽然有直接结束线转载 2014-02-09 11:23:11 · 598 阅读 · 0 评论 -
C++多态的灵活运用
#include #include //class Server;class Service{ //friend class Server;public: Service(){} ~Service(){}public: virtual void handle(void) = 0;//private:// Server* pServer;};class EchoServ原创 2014-02-15 16:59:51 · 559 阅读 · 0 评论 -
C++实现2个类互相指向对方
// MutualCrossClass.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include class PhysicalConnection;class LogicalConnection{ friend class Dispatch;public: LogicalConnection() { m_pPhysicalCo原创 2014-02-19 14:06:11 · 582 阅读 · 0 评论 -
在VC++项目中使用.Net库,经过简单转换,可以直接使用C#代码
一、新建一个VC++项目二、所在项目右键 --> 属性\或快捷键R --> 配置属性::常规::公共语言运行时,选择“公共语言运行时支持\CLR” common language runtime的缩写代码如下:// VCString.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"using namespace System;using n原创 2013-11-23 21:45:08 · 1287 阅读 · 0 评论 -
动态库Dll的创建和使用
//simpledll.h#pragma once;#if defined(SIMPLEDLL_STATIC)#define Simpledll_Export#elif defined(SIMPLEDLL)#define Simpledll_Export __declspec(dllexport)#else#define Simpledll_Export __declspec(dl原创 2013-12-13 16:52:58 · 577 阅读 · 0 评论 -
Iterator的用法陷阱
// IteratorTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include class ClientSession{public: ClientSession(){} ~ClientSession(){} int socket() { return m_socket; }原创 2013-12-19 17:18:08 · 537 阅读 · 0 评论 -
MT4 hst格式文件的读取
#include #include #include #include using namespace std;#pragma pack(pop) //读取MT4历史数据的范例 typedef struct HistoryHeader { int version; // 基础版本 char copyright[64]; // 版权信息 char symbol[12]; /原创 2013-12-23 11:52:17 · 5529 阅读 · 0 评论 -
取两位小数
方法一: LONGLONG iOpenPrice = LONGLONG(_mthst.openPrice * 100); LONGLONG iClosePrice = LONGLONG(_mthst.closePrice * 100); LONGLONG iHighPrice = LONGLONG(_mthst.highPrice * 100); LONGLONG iLowPri原创 2013-12-23 20:00:49 · 705 阅读 · 0 评论 -
C语言结构体对齐问题详解
测试环境32位机 WinXP:编译器VC6(MS cl.exe ) 和 mingw32-gcc-4.5.2 1 结构体数据对齐(没有#pragma pack()宏定义)结构体对齐可以总结为三个基本原则①数据成员对齐规则:结构体的数据成员中,第一个成员从offset为0的地址开始,以后每一个成员存储的起始位置为该成员大小的整数倍(在win32中int为转载 2013-12-26 16:09:27 · 558 阅读 · 0 评论 -
Common Used Open Source Code Website
code.googlesourceforge原创 2013-12-12 15:53:38 · 541 阅读 · 0 评论 -
几个常见的压缩算法
再学习了haffman算法之后发现压缩算法很有意思,上网查了点资料,这是做好的一篇(主要是我能理解)。前面几种都能看懂,关键是那个LZ77算法。这个是很强大的压缩算法,zip,rar用得都是这种算法,让我们来感叹下两个犹太人的强大!!! 几个常见的压缩算法(转)(一) 字典算法字典算法是最为简单的压缩算法之一。它是把文本中出现频率比较多的单词或词汇组合做成一个对应的字典转载 2013-12-18 14:46:48 · 487 阅读 · 0 评论 -
下载、构建和运行 Windows SDK 示例
为了使你学习开发 Windows 应用商店应用更容易,我们创建了数百个 Windows SDK 示例。本主题向你介绍如何下载、构建和运行这些示例。通过 Windows 8,我们将跨平台的各种功能的所有示例组合到一起,提供一个单独的下载位置:Windows 应用商店应用示例的 MSDN 库。我们已针对 Windows 8.1 更新了这些示例。标记为“Official Window转载 2013-12-23 13:19:43 · 757 阅读 · 0 评论