昊梵体育网

其他啥来了都不好使 C++开发者,那dockerfile和docker comp

其他啥来了都不好使
C++开发者,那dockerfile和docker compose写的是比cmake都熟。

c++不像python,go,rust,这类语言天然就有自己的虚拟环境和包管理,c++啥也没有,而且依赖的安装方式多样,有用静动态库的(主流,常见于闭源资源,比如行情和柜台api),有直接源码嵌入的(改下cmake,header only最好),而不可能所有项目都开源,且编译好的库依赖平台,所以C++的包管理一直是个头疼的问题。

docker可以简单粗暴的解决这个问题,直接拉个指定镜像的虚拟机,然后在虚拟机里装依赖,编译好的库就copy进去。与其他docker使用场景不同(大部分都是部署的时候...),c++选手日常开发也很常用docker,建好镜像开个容器把代码映射进去,然后vscode直接attach进容器在容器里开发编译[笑哭]

不过库文件依旧是个问题,因为即便编译的os一样,isa也不一样,arm64的mac很难跑x86的虚拟机(colima可以但是有相当程度的性能损耗)。