• Google Protocol Buffers浅析(二)


          本文开始将逐渐介绍怎么使用protocol buffers来完成序列化与反序列化数据的应用,开发环境为VS2008,语言为C++,外部库用的是googlebuffer库。

          1、Google Protocol Buffer库

          在我们的应用程序里面,需要使用到google buffer提供的库,大家可以到官网去下载,笔者也会提供一个精简后的Win32 Release版的Lib库下载(Debug版与X64版的都删去了,不然lib包超过200M)。下载地址:GoogleBufferLib 

          解压缩后可以看出文件夹结构如下所示:

          ---GoogleProtocolBuffer

              ---include文件夹

              ---lib文件夹

                  ---win32文件夹

                       ---release文件夹

                           ---proto文件夹(自己建的,放proto文件的)

                           ---royen文件夹(自己建的,生成的.h和.cc的目录)

                           ---*.lib 库文件

                           ---protoc.exe编译器 

          其中,include文件夹下是一堆程序中需要引用的头文件,而在lib文件夹下则是有protoc编译器和链接库。

     

          2、建立并正确设置项目  

          1)使用VS2008新建一个项目后,将上面下载的GoogleProtocolBuffer文件夹拷贝到你的项目工程里,如下图所示:

            

         

         2)使用编译器将定义的proto文件编译成.h与.cc文件,拷贝到项目工程目录下,如下图所示:    

      

         3)在项目中将.h与.cc文件引用进来,并在addressbook.pb.cc头部加上一句include "stdafx.h",否则编译时会报错

         4)打开项目属性,右键项目-》Configuration-》C/C++ -》General ,设置Additional Include Directories,如下所示:

                

      

         5)定位到Configuration -》Linker -》General,设置Additional Library Directories,如下所示:    

                    

        

         6)定位到Configuration -》Input-》Additional Dependencies,如下图所示:

          

     

         7)定位到Configuration -》C/C++ -》Code Generation,修改Runtime Library项为Multi-threaded(/MT),如下图所示:    

             

         

            通过上述的一些列项目属性设置,程序可以正确编译通过了,但是什么功能都没有,下篇文章中将介绍怎么序列化与反序列化我们的数据。

           欢迎转载,转载时请务必保留原文出处:http://www.cnblogs.com/royenhome ,谢谢合作!

  • 相关阅读:
    对于线程同步的浅薄理解
    线程安全之ConcurrentQueue<T>队列
    关于mybatis拦截器,对结果集进行拦截
    oracle 分析函数
    C# ikvm 运行htmlunit Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found
    IronJs 无相关源?
    js div 内容显示分页
    JavascriptTAB切换 AND JqueryTAB切换
    php中mysql数据库操作类 -李盛鹏 -博客园
    sublime text 之snippet功能的使用 -李盛鹏 -博客园
  • 原文地址:https://www.cnblogs.com/royenhome/p/1865066.html
Copyright © 2020-2023  润新知