- 博客(18)
- 资源 (17)
- 收藏
- 关注
原创 C++ 二进制文件读写
//写数据到文件 ofstream fout("data.txt",ios::binary); if (!fout) { cout<<"can not open file to write"<<endl; } for (int i=0;i<n;i++) { fout.write(rein
2014-03-29 20:31:17 1370
原创 将DLL项目改造(转换)为控制台项目三部曲
(1)DLL项目时没有main入口的,所以你要添加main.cpp,写个main函数,别忘了引用文件和创建对象用于运行。如果这时候你直接编译,不好意思:unresolvedexternalsymbol_WinMain@16(2)修改项目配置:a > Configuration Properties》General》Configuration type》Application...
2014-03-26 15:10:43 2424
原创 C++派生类的访问权限
下面用简短的代码说明在最常见的public继承情况下访问权限的变化#include using namespace std;class A{public: A():a(0),b(0),c(0){} int get_a(void ){return a;} int a;protected: int get_b(void) {return b;} int b;private
2014-03-24 16:00:16 1693
原创 设计一个类能够使用ACE的各种框架
框架需要什么类,就从什么类派生;如果需要使用多个框架,你就一次从多个关键类派生,使用多重继承即可;如图所示:如下内如为2014/4/1修订:这里还有一个问题,上面的结构适合非dll加载的情况。如果你的程序需要模块化开发,运行时加载,那么你的架构可能是如下这个样子:
2014-03-19 10:22:10 1923
原创 使用ACE日志设施(二)详细介绍(v4)
最简单的日志设施#include "ace/Log_Msg.h"int main(int argc, char *argv[]){ ACE_DEBUG((LM_INFO,ACE_TEXT("Hello ACE Log Msg !"))); return 0;};将日志写入文件:#include "ace/Log_Msg.h"#inc
2014-03-17 14:56:29 4436
原创 ACE_Proactor TCP(接收什么就打印什么)V1.3
不管是Reactor框架也好,Proactor框架也好,框架只负责传输作用。至于你发的快接的慢忙不忙的过来,中间会不会丢包,这个ACE也无从知晓,这不是它的工作。所以开发人员只能利用ACE框架自己设计重发等容错机制。最常见的容错机制就是收到消息之后给对方发送一个“已收到”确认信号。当对方收到确认信号之后再发下一次。直接介绍ACE_Proactor的框架请参考:http://www.bl
2014-03-14 14:47:55 2093
原创 ACE_Message_Block(V4.0)
下面的例子展示了向ACE_Message_Block写入多个字符串并一次性输出#include "ace/Message_Block.h"#include "ace/OS.h"#include #include using namespace std;int main(int argc, char * argv[]){ //if the BUFFERSIZE is too s
2014-03-13 13:14:36 3458 2
原创 VC++常用快捷键
F12:转到定义CTRL + F12转到声明Ctrl+F5:开始执行(不调试)F10:逐过程调试 F11:逐语句调试大纲显示:Ctrl+M, Ctrl+M:Ctrl+Shift+C类视图 向后定位 CTRL + -向前定位 CTRL + SHIFT + -注释选择的代码 CTRL + K, CTRL +
2014-03-13 09:41:10 944
转载 高性能IO设计的Reactor和Proactor模式
http://xmuzyq.iteye.com/blog/783218在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步,同步和异步是针对应用程序和内核的交互而言的
2014-03-12 11:06:01 838
原创 (按下Ctrl+C就重新配置dll服务2.0)
关于ACE可以实现运行时动态相应事件的原理请参考:(1)ACE_Reactor实现计时器(2)ACE_Reactor实现运行时交互这里按下Ctrl+C来重新配置dll服务使用了:(2)ACE_Reactor实现运行时交互的方法实现运行相应键盘输入Ctrl+C,而重新配置则使用了ACE_Service_Config::reconfigure()方法,只要将此方法放到相应事件的处理
2014-03-11 23:45:56 2633 2
原创 boost ptree操作XML,方便又好用
这个类可以解析和操作xml文件。下面的程序就列举和展示ptree类对xml文件的常用操作。读取单个值配置文件 zhang san 23 #include #include #include using namespace std;using namespace boost::property_tr
2014-03-10 12:28:26 9961
原创 ACE_Reactor实现运行时接收键盘输入
说明:在ACE中,很多动态发生变化的行为都同伙消息事件来产生和处理。小时事件例如:超时、信号发生等。能够产生消息的类都要继承ACE_Event_Handler,这个类提供了一些虚方法供派生类重写。比如:handle_signal()方法用来处理信号类型的消息发生的时候应该做什么;handle_timeout()方法主要用来捕获超时信号发生时应该做什么事。捕获消息的任务是
2014-03-07 10:30:10 2464
原创 ACE_Service_Config动态配置服务介绍
http://oss.org.cn/ossdocs/ace_tao/ACE-2002-12/Part-Two/Chapter-8.htm许多分布式系统都含有一组全局服务。应用开发者可以调用这些服务来帮助他满足分布式开发的需求。在构造分布式应用时,需要像名字服务、远程终端访问服务、登录和时间时间服务这样的全局服务。构造这些服务的一种办法是将每个服务编写成单独的程序。随后这些服务程序就在它们自
2014-03-07 09:27:36 3989
原创 ACE_Reactor实现计时器
在ACE中,事件的处理由全局的ACE_Reactor::instance()负责。当某种事件产生时由ACE_Reactor::instance()->handle_events()来监听事件的发生。其中,ACE_Reactor::instance()->schedule_timer()方法负责设置计时,当超时的时候会回调其ACE_Event_Handler类型参数对象的 handle_ti
2014-03-06 22:37:35 3275
原创 用ACE_DLL打开dll组件中的函数(6.0版)
最近才知道ACE_DLL是动态管理组件(服务)的基础,这个框架可以让你打开和关闭某个dll对应的服务。本例最简单的调用dll中的类对象的print方法打印Hello World。网上的例子不太好用,当时觉得既然ACE_DLL是个类库,那就是头文件包含不就行了。看了ACE下载包里面的ACE_Main项目之后仿照他的自己写了。//子定义的类用于生成dllA.h#ifndef
2014-03-06 09:41:53 3675
原创 解决 警告 inconsistent dll linkage
DLL 文章列表参考http://blog.csdn.net/spark_cao/article/details/3726314我的头文件要设置一些DLL导出的预编译指令如下:#ifdef A_EXPORTS#define A_API __declspec(dllexport)#else#define A_API __declspec(dllimport)#endif...
2014-03-05 11:01:51 2969
原创 创建和使用动态链接库 (C++)
此分步演练演示如何创建用于 C++ 应用程序的动态链接库 (DLL)。 使用库是重用代码的一种绝佳方式。 您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程写入一次,然后从需要该功能的应用程序引用它们即可。 通过将代码放入 DLL,您节省在引用它的每个应用程序的空间,而且,您可以更新 DLL,而无需重新编译所有应用程序。 有关 DLL 的详细信息,请参见 Visual C++ 中的
2014-03-04 14:04:24 1517
原创 C++内存管理利器shared_ptr V2.0
此只能指针已经被纳入C++11,只因它实在是我们太需要它了!如下的这些方面是我们需要它的理由(1)引用计数让你摆脱delete的使用,只要有一个指针对象没有被析构,管理的对象就不会被析构,所以你可以按值传递给函数,按值从函数返回(2)提供了变参工厂函数:make_shared<T>(...),让你摆脱new的出现(3)获取原始指针的成员函数:get(),可以让你在需要原...
2014-03-02 20:41:42 1779
RabbitMQ C++ Client on Windows
2014-04-10
C++ Network Programming Volume 2.chm
2014-03-05
Aho算法的C++实现
2010-12-20
汇编编译器 集成开发环境 适用于初学者循序渐进学习asm2010
2010-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人