当前位置: 首页 > news >正文

青岛做网站公司百度一下百度

青岛做网站公司,百度一下百度,seo每日工作内容,做淘宝那样的网站要多少钱protobuf自定义数据格式,CMake编译文件读写自定义数据 1.protobuf安装2.定义.proto文件3.编写main.cpp4.编写CMAkeLists配置文件5.运行 1.protobuf安装 protobuf库链接 2.定义.proto文件 新建一个Person.proto文件和一个Animal.proto文件,内容如下&…

protobuf自定义数据格式,CMake编译文件读写自定义数据

  • 1.protobuf安装
  • 2.定义.proto文件
  • 3.编写main.cpp
  • 4.编写CMAkeLists配置文件
  • 5.运行

1.protobuf安装

  protobuf库链接

2.定义.proto文件

新建一个Person.proto文件和一个Animal.proto文件,内容如下:

syntax = "proto3";package UserInfo;message Person {string name = 1;int32 id = 2;string email = 3;
}
syntax = "proto3";package UserInfo;message Animal {string name = 1;int32 id = 2;int32 age = 3;
}

在这里插入图片描述

3.编写main.cpp

main函数中对proto中的对象进行序列化和反序列化,内容如下:

#include "Animal.pb.h"
#include "Person.pb.h"
#include <fstream>
#include <iostream>int main() {{// 创建 Person 对象UserInfo::Person person;person.set_name("John Doe");person.set_id(123);person.set_email("john.doe@example.com");// 将数据序列化到文件std::ofstream output("person_data", std::ios::binary);person.SerializeToOstream(&output);output.close();// 从文件中读取数据并反序列化UserInfo::Person read_person;std::ifstream input("person_data", std::ios::binary);read_person.ParseFromIstream(&input);input.close();// 打印反序列化后的数据std::cout << "Name: " << read_person.name() << std::endl;std::cout << "ID: " << read_person.id() << std::endl;std::cout << "Email: " << read_person.email() << std::endl;}{ // 创建 Animal 对象UserInfo::Animal animal;animal.set_name("Dog");animal.set_id(456);animal.set_age(5);// 将数据序列化到文件std::ofstream output("animal_data", std::ios::binary);animal.SerializeToOstream(&output);output.close();// 从文件中读取数据并反序列化UserInfo::Animal read_animal;std::ifstream input("animal_data", std::ios::binary);read_animal.ParseFromIstream(&input);input.close();// 打印反序列化后的数据std::cout << "Name: " << read_animal.name() << std::endl;std::cout << "ID: " << read_animal.id() << std::endl;std::cout << "age: " << read_animal.age() << std::endl;}return 0;
}

在这里插入图片描述
 &ems;注意这时候我们的main.cpp文件是报错的,因为找不到Animal.h文件和Person.h文件,没关系,接下来编辑CMAkeLists.txt配置文件,生成相应的头文件即可!

4.编写CMAkeLists配置文件

cmake_minimum_required(VERSION 3.5)
project(YourProjectName)set(CMAKE_CXX_STANDARD 11)# 查找protobuf库
find_package(Protobuf REQUIRED)# 获取所有的protobuf文件
file(GLOB PROTO_FILES "proto/*.proto")# 生成protobuf文件的C++代码
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})# 添加生成的protobuf文件到项目中
include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${PROTOBUF_INCLUDE_DIRS})# 添加可执行文件
add_executable(main main.cpp ${PROTO_SRCS} ${PROTO_HDRS})# 链接protobuf库
target_link_libraries(main ${PROTOBUF_LIBRARIES})

在这里插入图片描述

5.运行

mkdir build
cd build
cmake ..
make 
./main

结果如下:

在这里插入图片描述

http://www.hkea.cn/news/823765/

相关文章:

  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作
  • 开封 网站建设苹果被曝开发搜索引擎对标谷歌
  • 东莞虎门高铁站百度客户端电脑版下载
  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服
  • 品牌网站建设-建站之路最新疫情新闻100字
  • 东莞网站优化科技有限公司怀柔网站整站优化公司
  • 郑州网站建设联系方式外链是什么意思
  • 用wordpress做网站教程电脑优化大师有用吗
  • 佛山企业网站制作今日热点新闻事件
  • 企业网站网络推广黑帽seo培训
  • 欧美做的爱爱网站有哪些广告推广赚钱
  • 泉州网站建设工作室谷歌seo价格
  • 国建设委员会网站百度推广一天烧几千