框架
文章平均质量分 90
他过江
分享C/C++/Linux/Qt/音视频/FFmpeg/OpenCV等相关技术。
展开
-
protobuf笔记
官网:https://developers.google.com/protocol-buffers/docs/proto3https://developers.google.com/protocol-buffers/docs/encoding编译安装wget https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.17.3.tar.gzcd protobuf-3.17.3sh ./autogen.sh./cou原创 2021-07-26 23:48:31 · 332 阅读 · 0 评论 -
protobuf的使用
编译protobuf:下载源码,使用CMake编译。注意我的项目用的是Qt mingw编译器,所以在CMake选择编译器的时候要选择mingw,而不是msvc。使用mingw编译出来的库:protobuf.a,然后加上源码中的google/protobuf目录,事实上这里面有很多.proto文件和源文件可以删除了,甚至很多头文件都用不上。网上没见到提到这一点。网上有的博客说编译动态库比较好,其实并不是。.pro配置protobuf静态库:#添加使用mingw编译的protobuf库I原创 2020-05-22 00:47:21 · 828 阅读 · 8 评论 -
序列化和持久化
对象持久化(Persistence)对象持久化就是将对象存储在可持久保存的存储介质上,例如主流的关系数据库中。在实际应用中,需要将业务数据以对象的方式保存在数据库中,就需要应用到相应的对象持久化框架,如现在广为认知的Hibernate。而如果查阅对象持久化的历史,你会发现早在1970年就已经开始有称之为面向对象数据库OODBMS。通常这些面向对象的数据库和特定的一种语言绑定。对象持久化的重点在原创 2017-11-29 15:20:22 · 920 阅读 · 0 评论 -
odb对象关系映射系统
odb架构:总结:将头文件中的C++类代码映射到数据库,实现对类对象的持久化,查找和更新开发者在头文件写C++可持久化类代码,通过odb编译器生成.cxx, .hxx, .ixx(inline file), .sql(Generated code)。然后编译成目标文件,链接libodb.a(ODB Common Runtime)和数据库libodb-pgsql.a(ODB PGSQL Ru原创 2017-11-28 20:22:24 · 1880 阅读 · 0 评论 -
CppCMS — C++ Web Framework
Event Loop:程序中设置两个线程,一个负责程序本身运行(主线程),另一个负责主线程与其它进程的通信(主要是各种I/O操作)cppcms::service::post()将一个执行句柄放在事件循环队列,该函数是线程安全的cppcms::http::responsethis class represents all HTTP/CGI response rel原创 2017-11-30 17:52:15 · 3458 阅读 · 0 评论 -
ODB hello world example using PostgreSQL in windows
hello example编译运行总结: 一定要学会看官网文档,需要哪些库下载下来,然后看库包里的INSTALL或readme文档。路径的确定要参考文档,不要理所当然。要安装postgreSQL installer,否则没有pgsql服务,不能监听5432端口。要安装installer,而不是binaries,binaries还要配置一下才能创建pgsql应用(keyword:安装postgres原创 2017-12-20 16:04:16 · 820 阅读 · 0 评论 -
curl发送Json格式http请求
//将response写入streamsize_t write_data_to_stream(void* ptr, size_t size, size_t nmemb, void* stream){ string data((const char*)ptr, (size_t)size * nmemb); *((stringstream*)stream) << data &l...原创 2019-01-08 22:42:51 · 2319 阅读 · 0 评论 -
spdlog单例模式封装
#pragma once#include "Util.h"#ifdef _WIN32#define __FILENAME__ (strrchr(__FILE__, '\\') ? (strrchr(__FILE__, '\\') + 1):__FILE__)#else#define __FILENAME__ (strrchr(__FILE__, '/') ? (strrchr(__F...原创 2019-01-09 00:15:16 · 5345 阅读 · 7 评论