用 mbp 开发 linux C/C++程序靠谱吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuyang
V2EX    MacBook Pro

用 mbp 开发 linux C/C++程序靠谱吗?

  •  
  •   yuyang 2015-07-22 16:30:52 +08:00 7145 次点击
    这是一个创建于 3782 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想买个mbp,主要写python,但是很多时候也要写一些linux下的C/C++程序,不知OS X合不合适

    38 条回复    2015-07-24 18:35:32 +08:00
    xfwduke
        1
    xfwduke  
       2015-07-22 17:20:21 +08:00
    感觉lldb 多进程调试不如 gdb 方便
    如果和系统关系很紧密的开发, 不太合适. 有些库接口虽然一样, 但是行为不太一样, 前阵子搞 GNU readline 就被坑了一把
    inevermore
        2
    inevermore  
       2015-07-22 17:21:50 +08:00
    写C++还是用虚拟机吧。 mbp开虚拟机无压力的。
    hulige123
        3
    hulige123  
       2015-07-22 17:38:16 +08:00 via Android
    好想要一台mbp呀
    hulige123
        4
    hulige123  
       2015-07-22 17:40:54 +08:00 via Android
    @yuyang 好想买一台mbp
    igboy
        5
    igboy  
       2015-07-22 17:42:22 +08:00
    vagrant,代码本地写,然后编译允许在虚拟机里面就行了。开发是没有问题的,补全是直接把 linux /usr/include 目录里面的头文件全部拿出来,
    txl263
        6
    txl263  
       2015-07-22 19:38:53 +08:00
    mbp虚拟机开linux那是毫无压力啊
    helloworld00
        7
    helloworld00  
       2015-07-22 19:55:50 +08:00
    如果是开虚拟机的话还不如直接ssh连linux的机子用vim写吧...
    49
        8
    49  
       2015-07-22 19:56:57 +08:00 via Android
    golang跨平台编译好舒服的说
    ehs2013
        9
    ehs2013  
       2015-07-22 20:48:51 +08:00
    前几天在 OS X 上折腾 GCC Linux cross compiler 然而并没成功,主要是坑在 Linux 内核头文件和 Glibc 上。
    yuyang
        10
    yuyang  
    OP
       2015-07-22 21:14:27 +08:00
    @txl263 以我的预算,只能买个840,所以开虚拟机我觉得够呛,内存似乎不够,而且我想买mbp 就是不想在虚拟机和windows 间切换来切换去,如果用mbp 仍然要虚拟机的话,那么我也就没必要买了。
    yuyang
        11
    yuyang  
    OP
       2015-07-22 21:20:39 +08:00
    @49 可惜我厂的主力编程语言是python, 而有时候python遇到一些限制的时候我就必须写一些乱七八糟的c扩展。
    igboy
        12
    igboy  
       2015-07-22 21:31:05 +08:00
    840搭一个linux的虚拟机完全足够了,不会影响性能的,而且不需要切换来切换去,直接ssh到虚拟机中编译不就行了。代码可以在主机上写,写个脚本把代码上传到linux虚拟机,然后编译。
    shiltian
        13
    shiltian  
       2015-07-22 22:27:08 +08:00
    看楼主的需求,感觉没必要上 Mac 了……
    kofj
        14
    kofj  
       2015-07-22 23:58:49 +08:00
    @49 我这要用cgo的只能开虚拟机了
    patr0nus
        15
    patr0nus  
       2015-07-23 03:10:13 +08:00
    用虚拟机 + vagrant

    可以用 mac 下的代码编辑器,还可以用 mac 的终端 app 连进虚拟机
    fansekey
        16
    fansekey  
       2015-07-23 07:18:49 +08:00
    @ehs2013 可以用docker应该有现成的 image 可用
    holulu
        17
    holulu  
       2015-07-23 08:13:36 +08:00
    @49 完全没有这个感觉
    windalex
        18
    windalex  
       2015-07-23 08:22:43 +08:00 via iPhone
    最近一直都用 vagrant 在 Mac 写 Unix 编程。电脑是 MBA 11寸最低配,花十分钟试试就知道,完全不需要纠结那么多。
    wy315700
        19
    wy315700  
       2015-07-23 08:28:23 +08:00   1
    不靠谱,
    Mac osx对 错误容忍性太强了

    读写未分配的内存居然不报错
    不报错
    不报错

    栈溢出了也不报错
    不报错
    不报错

    然后程序还能正常工作。。。


    在Mac上调试没问题的程序放到Linux里就经常segmantfalt
    49
        20
    49  
       2015-07-23 08:49:33 +08:00 via Android
    @wy315700 360浏览器连证书出错都能忍,水果的行为不算啥 23333
    yuankui
        21
    yuankui  
       2015-07-23 09:02:44 +08:00
    mac不合适,啥合适???
    WDsUO7HnS2Na1DFC
        22
    WDsUO7HnS2Na1DFC  
       2015-07-23 09:19:31 +08:00
    看你C写的哪种程序
    内核,底层相关的还是算了吧
    其实开个无界面的Linux 虚拟机不怎么消耗资源,试试就知道了
    jedihy
        23
    jedihy  
       2015-07-23 10:55:56 +08:00
    @wy315700 深有体会,以为调试没问题了,给别人一用就崩溃。
    txl263
        24
    txl263  
       2015-07-23 12:27:05 +08:00
    都说了开Linux的虚拟机无压力啊,内存分几百兆就够了,装个gentoo,性能也妥妥的
    yuyang
        25
    yuyang  
    OP
       2015-07-23 15:19:59 +08:00
    @windalex 我没有用过mbp, 所以都不太熟悉,如果用过我肯定也就不纠结了, 不知你开发的时候代码放在哪?共享文件夹? 编译又是如何做的呢?用ssh登上去?
    AnyOfYou
        26
    AnyOfYou  
       2015-07-23 16:22:07 +08:00
    XPS 13 developer edition 合适么
    txl263
        27
    txl263  
       2015-07-23 16:31:17 +08:00
    @yuyang vagrant也是虚拟机,编译可以ssh,编辑可以ssh也可以sftp当本地编辑
    xylophone21
        28
    xylophone21  
       2015-07-23 16:34:33 +08:00
    虚拟机装没GUI的,性能没问题的。
    deving
        29
    deving  
       2015-07-23 18:27:37 +08:00
    @windalex mba 低配xcode开发过程中体验怎么样?会不会很卡?轻度开发可以吗?
    typcn
        30
    typcn  
       2015-07-23 19:11:16 +08:00
    @deving SSD + i系列 CPU ,就不会卡
    holulu
        31
    holulu  
       2015-07-23 19:36:21 +08:00
    VM 吧,环境不一样的
    windalex
        32
    windalex  
       2015-07-23 22:45:21 +08:00 via iPhone
    @yuyang 放在虚拟机里,因为是 linux 写 C,直接用不带插件的 vim。当然你也可以放共享文件夹里,编译要在虚拟机里编译。
    windalex
        33
    windalex  
       2015-07-23 22:47:09 +08:00 via iPhone
    @deving xcode 做 iOS UI 的时候会很卡,其他时候还好,另外屏幕小了点……于是我刚买了个13寸
    windalex
        34
    windalex  
       2015-07-23 22:50:40 +08:00 via iPhone
    @wy315700 其实这是 llvm 的锅,编译器都处理好了。按理说这是一个好事,不过最近教别人编程入门时,碰到一些不规范的写法,llvm 也不报错,搞得我还要强制性要求别人该怎么写。
    wy315700
        35
    wy315700  
       2015-07-23 22:54:12 +08:00
    @windalex
    是编译器的问题,vs早期的版本也经常这样,
    yuyang
        36
    yuyang  
    OP
       2015-07-24 11:59:44 +08:00
    @windalex 代码如果直接在虚拟机中编辑肯定不现实,因为大型点的项目我都用IDE,平时我也是用的定制的很个性化的emacs,如果用无插件的编辑器写,效率会低不少,而且代码也不好管理,所以应该只能放在共享文件夹里,编译用ssh登上去倒是可以接受. 其实我以前把linux作为主力桌面用了快3年,只是现在公司太依赖qq,我才不得不切换到windows,然后开虚拟机写代码,因为讨厌在二者间切换,所以我才想买mbp, 现在看来mbp也不能很好的解决这个问题.
    wyj2046
        37
    wyj2046  
       2015-07-24 18:33:34 +08:00
    @yuyang 楼主 我也用emacs, 不用开虚拟机, 直接启个vagrant就好, 你再mac本地开发, 在vagrant里编译, 跑程序就行
    wyj2046
        38
    wyj2046  
       2015-07-24 18:35:32 +08:00
    @yuyang 另外linux桌面用ubuntu的话, 有wine qq2012可以用, 直接一个deb包, 随装随用, 而且没有弹窗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4553 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:54 PVG 17:54 LAX 01:54 JFK 04:54
    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