请问可以在 docker Linux 上开发 c/c++吗?

2020-05-31 14:28:09 +08:00
 0xljh

通过 vscode remote 在 mac 上的 docker linux 上,感觉用虚拟机有点笨重?我是 c/c++新手,感谢各位

4573 次点击
所在节点    程序员
22 条回复
VDimos
2020-05-31 14:32:51 +08:00
可以的,
silvernoo
2020-05-31 14:34:11 +08:00
docker 不是虚拟机
tottea
2020-05-31 14:40:38 +08:00
可以的。。。
我就是这样做的,把 gdb,cmake 之类开发工具的打包好做成镜像之后,每次开发就将工程文件夹映射到容器里开发
dangyuluo
2020-05-31 14:40:57 +08:00
我司所有开发环境都是基于 Docker 的,简直不要太爽
tottea
2020-05-31 14:43:14 +08:00
然后可以用 JB 家的 deployment 功能,本机 Clion 改完之后实时同步到开发的服务器上,调试就 ssh 在 linux 上调试
maemual
2020-05-31 14:45:08 +08:00
讲道理 Mac 上的 docker 也是起了一个虚拟机再起 docker 。。。。
BugenZhao
2020-05-31 15:16:13 +08:00
macOS 上的话,Docker 做开发环境好像比虚拟机并没有有太多优势……
GeruzoniAnsasu
2020-05-31 15:23:33 +08:00
我就是这么干的,host 是 mac,写 linux 的代码,把代码挂进去在 docker 里 make,调试还能用 clion
WebKit
2020-05-31 15:47:55 +08:00
linux docker 就是虚拟机里开 docker 没啥优势
sadfQED2
2020-05-31 15:51:08 +08:00
在 windows 和 mac 系统上面,docker 就是在 linux 虚拟机里面的
foxkiller
2020-05-31 16:08:25 +08:00
写要用 CUDA/CUDNN 的程序不要太爽 毕竟本地没法调。
呃不一定写 CUDA/CUDNN 的程序都是 python 哈,自己手撸个 op 优化一下特殊的计算得用 C/C++
111qqz
2020-05-31 16:59:42 +08:00
可以的,效率很高
waruqi
2020-05-31 19:18:12 +08:00
可以的 我是 nvim+xmake
livepps
2020-05-31 23:27:01 +08:00
clion 远程开发,每次加载 cmake 跟本地比慢很多,除了这点,其他完美
newtype0092
2020-06-01 00:18:09 +08:00
@tottea 为什么不直接把编译的输出目录映射过去,在本地编辑,然后交叉编译,docker 只是个执行容器,感觉这样效率高点。
ZZSZZSZZS
2020-06-01 01:21:07 +08:00
@silvernoo mac 和 win 上的 docker 就是起了一个虚拟机,win 还有一种模式是开一个容器就起一个虚拟机。
tottea
2020-06-01 01:30:10 +08:00
@newtype0092 因为不是很熟 C++的跨平台交叉编译,没试过。。。。我编辑代码的机器是 win,docker 的宿主机是远程的 linux 服务器,这样也可以交叉编译的吗,不是很懂
Mithril
2020-06-01 01:37:37 +08:00
@tottea 可以的,VS 直接支持
neoblackcap
2020-06-01 02:34:05 +08:00
@tottea 交叉编译不需要目标平台的机器,如果你用目标平台去编译你的程序,那么就是本地编译。交叉编译需要使用交叉编译工具。一般 C/C++, rust 这类系统语言,如果你剔除了对应平台的 API,或者用宏或者其他编译时的技术抹平了平台之间的差异。一般交叉编译的难度不大。
newtype0092
2020-06-01 08:47:35 +08:00
@tottea 可以的哈,之前搞游戏的时候,都是在电脑上编译,然后放到手机的 arm 上运行,装好交叉编译工具链和各种用到的类库就行。
不过具体要看远程机器的性能怎么样,如果远程的机器配置特别高且空闲当然在那边编译好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/677181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX