logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++大型项目组件通信与依赖管理实践

设计大型 C++ 项目的组件通信和依赖管理,本质上是在编译期耦合度和运行时调用便利性之间寻找平衡。编译期用接口和 Pimpl 做防火墙,运行期用事件总线或直接接口调用实现解耦。事件总线不要搞成全局单例的“黑洞”——优先使用依赖注入或上下文对象传入。服务定位器可作为过渡方案,但尽量局限在基础设施层,业务层保持显式依赖。上下文对象是依赖注入的“升级版”,将一组基础服务打包,消除了长参数列表,又保留了依

#c++#log4j#apache
使用 vcpkg 管理 C++ 项目中的依赖

准确地说,称它们为"包"并不正确,因为它们更像是配置和构建的 recipe。在 vcpkg 的术语中,它们被称为"ports./glfw—— 用于获取源码、配置、构建、安装和整理的 CMake 指令;vcpkg.json—— 包/port 的信息:名称、描述、主页、版本及其自身的依赖。如果你想要添加为依赖的库已经有良好的现代 CMake 项目文件并且有正确的安装过程,那么你只需要这两个文件就可以制

#c++#开发语言
Conan 实战:从零开始使用第三方包

您可以将此列表视为“级别 (levels)”列表,在级别 0 中,有不依赖于任何正在构建的其他包的包,在级别 1 中有仅依赖于级别 0 中的元素的包,依此类推。请注意,在此示例中,我们为了方便使用 Debug 和 Release 作为不同的配置,但在实际情况中,这些将是不同的配置,例如 Windows/X86_64、Linux/x86_64、Linux/armv8 等,并在不同的计算机上运行。这并

#c++#ci/cd#开发语言
嵌入式系统中自定义通信协议的一种实现

本文主要描述嵌入式系统中应用之间通信协议的自定义实现,虽然已经存在一些成熟的通信协议格式,例如JSON、xml之类的,但是为了降低通讯信息带宽,提高通信效率,在嵌入式系统中通常使用自定义的通信协议,传输层则根据使用场景选择合适的通信载体。

#网络#服务器
Conan 包管理器入门:为什么选择 Conan

摘要:Conan 是一个开源、去中心化的 C/C++ 包管理器,支持全平台(Windows/Linux/macOS等)和所有构建系统(CMake/Make/Visual Studio等)。其核心优势包括:1)完整的二进制管理,可创建多配置预编译包;2)私有仓库支持,通过Artifactory CE或内置服务器托管私有包;3)稳定兼容,承诺2.X版本无破坏性变更;4)活跃社区支持,包括8000+ G

#c++#开发语言
windows下编译paho.mqtt

paho.mqtt 在windows环境下的编译过程记录

#c++
Conan 包管理器入门:为什么选择 Conan

摘要:Conan 是一个开源、去中心化的 C/C++ 包管理器,支持全平台(Windows/Linux/macOS等)和所有构建系统(CMake/Make/Visual Studio等)。其核心优势包括:1)完整的二进制管理,可创建多配置预编译包;2)私有仓库支持,通过Artifactory CE或内置服务器托管私有包;3)稳定兼容,承诺2.X版本无破坏性变更;4)活跃社区支持,包括8000+ G

#c++#开发语言
到底了