Linux C++ 后台开发能用 M1 吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
noroot
V2EX    macOS

Linux C++ 后台开发能用 M1 吗?

  •  
  •   noroot 2021-06-11 17:11:13 +08:00 6836 次点击
    这是一个创建于 1631 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为听闻 M1 续航不错,温度低,想买个玩玩。
    据闻 VSCode 的 C++ 插件在 M1 上不能调试,有没有小伙伴说一下?
    另外 256G SSD 够用么?上 512G 的价格有点割韭菜(都够买 2T 的移动 SSD 了)。
    第 1 条附言    2021-06-15 17:53:33 +0800
    发现 Remote - ssh 插件还没正式支持 M1

    https://github.com/microsoft/vscode-remote-release/issues/4069
    36 条回复    2021-06-17 11:23:21 +08:00
    yangxin0
        1
    yangxin0  
       2021-06-11 17:25:35 +08:00
    可以、M1 开发 Docker 编译、自己 mock Clion 需要的 CMakeLists.txt
    BrettD
        2
    BrettD  
       2021-06-11 17:34:13 +08:00 via iPhone
    没用过 VS Code 不清楚情况,在 M1 上 Xcode 和 CLion 都是可以正常使用的
    ALVC666
        3
    ALVC666  
       2021-06-11 17:39:06 +08:00
    我觉得加钱上内存还不如拿来弄个 nas
    ALVC666
        4
    ALVC666  
       2021-06-11 17:39:26 +08:00
    啊 又犯病了 是存储
    felixcode
        5
    felixcode  
       2021-06-11 17:40:29 +08:00
    开发环境用 ARM, 运行环境用 x86?
    so898
        6
    so898  
       2021-06-11 17:45:11 +08:00
    如果运行环境不是 ARM 的话,大概率是要另外弄台机器做 Debug 和测试
    苹果官方对于 Mac 应用也是建议不仅要在 M1 上测试,也需要在 Intel 机器上测试
    3dwelcome
        7
    3dwelcome  
       2021-06-11 17:53:04 +08:00
    C++ ARM 代码去反向兼容 x86 代码,其实没多大问题的。

    反而 x86 代码,在 arm 平台上跑是一件历史包裹极其沉重的事情。
    luolikon
        8
    luolikon  
       2021-06-11 18:01:44 +08:00
    insider 版的 c++插件可以调试,几个月前就出了。正式版没试。
    philon
        9
    philon  
       2021-06-11 18:52:47 +08:00
    看你具体以来那些库了,光是 vscode 和 c++插件绝对没问题(胸膛已拍紫)!

    PS:我手上是 MacBook air with M1,编译过交叉编译器、Linux 内核、杂七杂八的第三方库,除了 u-boot,其他都没什么问题。和我 2016 版中配 13 寸 MBP 对比了下,编译速度大概是后者的三倍
    jedz
        10
    jedz  
       2021-06-11 19:16:25 +08:00
    @philon #9 VSCode 写 C++后端体验怎么样啊,编译什么的没遇到什么问题吧?我正考虑入手 M1 MBA
    philon
        11
    philon  
       2021-06-11 19:29:55 +08:00   2
    @jedz 看个人,我属于习惯敲命令行写 Makefile 那种,所以这种轻量化的环境很适合我,如果习惯 IDE 的话那还是不要考虑了。不过你可以自己先装个试试呀,这和 mac 没什么关系嘛
    jedz
        12
    jedz  
       2021-06-11 19:35:56 +08:00
    @philon #11 哈哈刚发现提问没强调 M1 。我现在是 2019mbp,VSC 写 C++体验还不错,就是容易发热风扇太吵才想换其实是想问 M1 会不会有什么奇怪的问题
    miniliuke
        13
    miniliuke  
       2021-06-11 19:48:23 +08:00
    跨平台加跨架构,我只能说将可以的都是......
    miniliuke
        14
    miniliuke  
       2021-06-11 19:48:56 +08:00
    @miniliuke 有信仰的人
        15
    Cbdy  
       2021-06-11 19:51:12 +08:00 via Android
    听说 C++是一门跨平台的语言
    xuegy
        16
    xuegy  
       2021-06-11 20:06:34 +08:00
    实测 M1 没有 x86 的 sigfpe,还不知道怎么解决
    wzzzx
        17
    wzzzx  
       2021-06-11 21:53:20 +08:00
    反正都 ssh 远程上去搞,莫得问题。买
    noroot
        18
    noroot  
    OP
       2021-06-11 23:07:47 +08:00
    @felixcode 用 VSCode + remote ssh 插件 + c/c++ 插件,相当于本地只作编辑
    noroot
        19
    noroot  
    OP
       2021-06-11 23:09:03 +08:00
    @luolikon 现在还没正式版吖?
    noroot
        20
    noroot  
    OP
       2021-06-11 23:12:18 +08:00
    @philon 库倒没问题,出问题可以自己适配,就怕只有二进制形式的应用不适配。GCC GDB 都适配原生了吗?
    noroot
        21
    noroot  
    OP
       2021-06-11 23:13:57 +08:00
    @jedz 我觉得挺好用的,除了有些基于预处理器定义的路径会出现符号查找问题(偶然性找不到,应该是个 bug )。
    noroot
        22
    noroot  
    OP
       2021-06-11 23:15:17 +08:00
    @miniliuke remote ssh 插件,相当于只是本地编辑而已,执行端还是目标机。
    felixcode
        23
    felixcode  
       2021-06-12 00:33:41 +08:00
    @noroot
    能本地干的活非得远程完成,大几千的买了个上网本。
    littlewing
        24
    littlewing  
       2021-06-12 00:38:05 +08:00
    那得看你要做多底层的东西?会不会用到 Linux 系统 API (不过本来 Mac 上也用不了),要不要写汇编
    techphoebe
        25
    techphoebe  
       2021-06-12 00:53:27 +08:00 via iPhone
    @so898 那做 mac 开发还得再准备台 intel 版本的 mac ?
    trn4
        26
    trn4  
       2021-06-12 03:00:06 +08:00
    @felixcode
    1. 远程机器更强,比如我就 ssh 到 16C64GB,万兆对等网络的服务器上干活
    2. 远程机器是公司维护的 Cloud VM,24h 开机不用管,省心省力
    3. 用不着在在本地存储东西
    4. 用不着听风扇(虽然 M1 可能没有)
    felixcode
        27
    felixcode  
       2021-06-12 09:15:43 +08:00 via Android
    @xiadong1994
    你说的也有道理,但如果不是 m1 的话,既能远程又能本地不是有更多选项么?
    网络也有延时和可达性的限制。
    更进一步讲,如果只用远程的话,何必非得买 m1 呢,三四千或更便宜的低端笔记本就行,不就是用来输入代码用么。
    lqf96
        28
    lqf96  
       2021-06-12 09:51:17 +08:00 via iPhone
    @felixcode 其实我觉得有一种情况用 m1 还蛮合适的:要是你打算在 AWS Graviton 上跑你的代码的话
    miniliuke
        29
    miniliuke  
       2021-06-12 10:19:51 +08:00
    @felixcode 对,还有一些非跨平台的函数,比如说系统调用、SIMD 指令,M1 上 IDE 和记事本没啥区别;对于出差、放假、在家期间,你是无法支撑工作的,但是这对让人均只在上班期间工作、永不出差的 V2ER 不是问题;还有服务器依赖、环境的搭建也是个问题,尤其是服务器无法直连外网,装一些环境绝对让人崩溃
    noroot
        30
    noroot  
    OP
       2021-06-12 14:23:31 +08:00
    @felixcode 主要是听闻 M1 续航好,无风扇(安静),便携性好。而且 macbook 的显示效果好(不折腾校色的前提下是最强的没意见吧?)。
    quzard
        31
    quzard  
       2021-06-12 15:23:16 +08:00 via Android
    官网购买 14 天无理由退货。可以买一台看看适不适合,不适合再退了
    cattyhouse
        32
    cattyhouse  
       2021-06-12 21:13:43 +08:00
    qemu 直接虚拟 arm64 的 linux ... 没毛病.
    noroot
        33
    noroot  
    OP
       2021-06-13 22:43:59 +08:00
    @quzard 激活了也可以?
    quzard
        34
    quzard  
       2021-06-14 08:56:51 +08:00 via Android
    @noroot 官网可以。你可以自己查
    noroot
        35
    noroot  
    OP
       2021-06-14 13:03:40 +08:00
    @quzard 好的,谢谢。
    ingnoscemihi
        36
    ingnoscemihi  
       2021-06-17 11:23:21 +08:00
    啥项目啊,vsc256 都不够?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2448 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:22 PVG 09:22 LAX 17:22 JFK 20:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86