- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 基于模板函数实现的消息中间件(进程内使用)
最近为将进程内部模块交互解耦,故增加了一个消息中间件的模块。处理流程如下:1.进程初始化时,各模块在消息中间件中订阅自己感兴趣的内容;2.需要发送数据时,调用中间件的发布接口,将对应的数据发布给所有的订阅者;初版基于上述流程实现,存在以下缺陷:1.每种消息需要对应一个订阅和发布的接口;2.若增加新的消息,则会对该模块的功能进行改动;为解决以上的缺陷,实现了基于模板函数实现的消息中间件。使用消息类型来管理所有的消息,示例代码如下:message.h#ifndef ME
2021-11-03 17:08:34 214
原创 std::bind绑定重载的方法
#include <functional>class Sample{public: Sample() {} int test() {} int test(int i) {}};Sample sample1;std::function<> pFun1 = std::bind((int(Sample::*)())&Sample::test ,&sample1);.
2021-11-02 16:28:25 1207
原创 linux下修改库的SONAME(gcc&cmake)
linux下生成的动态库的SONAME默认同库的名称一致。如库libtest.1.2.so;通过readelf -d libtest.1.2.so可以查看到其SONAME为:libtest.1.2.so通过gcc设置参数:-Wl,-soname,libtest.so可以对其SONAME进行修改。gcc编译示例:gcc -fPIC -shared -Wl,-soname,libtest.so -o libtest.1.so ./test.cppcamke示例:project(t
2021-10-29 16:22:09 1804
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人