在 Linux 上初学 C++ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
raawaa
V2EX    程序员

在 Linux 上初学 C++

  •  
  •   raawaa
    raawaa 2018-05-08 17:30:55 +08:00 via Android 5686 次点击
    这是一个创建于 2791 天前的主题,其中的信息可能已经有所发展或是发生改变。

    动手实践前还要学习构建工具(选择了 CMake )。 这个觉得挺麻烦的,打击了学习的积极性。

    第 1 条附言    2018-05-08 21:56:23 +08:00
    另外 github 上想学习一下别人的代码。但是看到里面 C 标准库和 C++标准库混起来用,感觉自己需要同时学习两门语言……
    28 条回复    2018-05-09 17:37:18 +08:00
    AEANWspPmj3FUhDc
        1
    AEANWspPmj3FUhDc  
       2018-05-08 17:33:40 +08:00
    JB 了解一下?
    AEANWspPmj3FUhDc
        2
    AEANWspPmj3FUhDc  
       2018-05-08 17:34:04 +08:00
    raawaa
        3
    raawaa  
    OP
       2018-05-08 17:37:59 +08:00 via Android   1
    @ivlioioilvi 我还是想 hardcore 一点。一开始就依赖 IDE 的话感觉不太好
    nyanyh
        4
    nyanyh  
       2018-05-08 17:39:17 +08:00
    学个 cmake 就觉得麻烦怕不是只想写个 hello world 就觉得入门了吧……
    没有 cmake,手写 Makefile 体验一下?
    c0pper
        5
    c0pper  
       2018-05-08 17:40:27 +08:00
    你们嫌麻烦那换什么 Linux,换你们宇宙第一大的 VS 再来发水贴。
    blackwolf
        6
    blackwolf  
       2018-05-08 17:55:16 +08:00
    先别搞 Make那些玩意儿,直接 g++,把 c++学会在搞那些编译工具都来得及
    你这类似于用 Linux 之前,试图把 Linux 内核源码搞懂一样
    shihira
        7
    shihira  
       2018-05-08 18:10:32 +08:00   1
    cmake 还行。已经用 cmake build 了相当多项目,但现在让我写 cmake 我还是觉得相当难受。
    新建一个 CMakeLists.txt ,打开,好,第一句写什么呢?呆坐五分钟,陷入迷茫。emmm 可能是 cmake_minimum_required 吧 h
    最后还是去别的项目里拷了一个过来改一改
    fangchang
        8
    fangchang  
       2018-05-08 18:15:56 +08:00
    g++
    Mirana
        9
    Mirana  
       2018-05-08 18:16:31 +08:00
    直接写 Makefile 啊,通俗易懂
    jmc891205
        10
    jmc891205  
       2018-05-08 18:21:04 +08:00
    你学的什么东西啊一上来就需要 Cmake
    crb912
        11
    crb912  
       2018-05-08 18:49:54 +08:00 via Android
    cmake 好啊,我就没写过 makefile。。。。尤其调用别人的库,文件架构略大,直接 cmak 修修改改即可
    iwtbauh
        12
    iwtbauh  
       2018-05-08 19:05:59 +08:00 via Android
    @nyanyh 说下我的看法,手写 Makefile 感觉比 cmake 舒服多了,autoconf 都比 cmake 舒服
    zgk
        13
    zgk  
       2018-05-08 19:32:51 +08:00
    上了半个学期的 C++课基本上都是 g++ xxx.cpp && ./a.out 打天下
    lovefantasy
        14
    lovefantasy  
       2018-05-08 19:37:15 +08:00 via Android
    我是菜鸡没有 IDE 不能活,没代码补全不能活。
    waruqi
        15
    waruqi  
       2018-05-08 19:45:49 +08:00 via Android
    xmake 可以了解下,简单易上手。http://xmake.io
    waruqi
        16
    waruqi  
       2018-05-08 19:46:44 +08:00 via Android
    chashao
        17
    chashao  
       2018-05-08 20:14:42 +08:00
    @ivlioioilvi 用 clion 不需要学 cmake???
    geelaw
        18
    geelaw  
       2018-05-08 20:21:58 +08:00   5
    “动手实践前还要学习构建工具(选择了 CMake )。 这个觉得挺麻烦的,打击了学习的积极性。”

    “我还是想 hardcore 一点。一开始就依赖 IDE 的话感觉不太好”

    我:???
    laqow
        19
    laqow  
       2018-05-08 20:39:17 +08:00 via Android
    不是手敲命令行搞不定了才考虑 CMake 的吗
    ihei
        20
    ihei  
       2018-05-08 22:07:43 +08:00
    @geelaw 哈哈哈哈,一样感受
    lbtinglb
        21
    lbtinglb  
       2018-05-08 23:37:06 +08:00 div class="sep5">
    https://github.com/onqtam/awesome-cmake
    如果简单使用,CMake 学起来很快的。。。
    ```
    cmake_minimum_required(VERSION 3.0)
    set (CMAKE_CXX_STANDARD 11)
    set (CMAKE_CXX_STANDARD_REQUIRED true)

    project(foo)
    add_executable(foo foo.cpp)
    ```
    wwqgtxx
        22
    wwqgtxx  
       2018-05-09 00:00:42 +08:00
    “ C 标准库和 C++标准库混起来用”这挺正常的吧,就算是 stl 自己的实现也经常调用 c 标准库呀
    zzugyl
        23
    zzugyl  
       2018-05-09 09:29:24 +08:00
    初学还是宇宙第一 ID 比较人性化,教程也多。
    老司机一般不这样发问了。
    dychenyi
        24
    dychenyi  
       2018-05-09 09:44:46 +08:00
    除了 cmake,还有 qmake,automake,各种产生 makefile。
    到现在我也只是会修改,而不是从头开始手写。
    你 hardcore 就像摸着石头过河,不用旁边的桥一样。
    wizardoz
        25
    wizardoz  
       2018-05-09 13:42:22 +08:00
    @dychenyi 感觉 cmake 已经是最简单的了,当年搞 automake 花了很多很多生命,现在基本丢弃了。qmake 我觉得局限性太大。当然如果用 cmake 来编译 qt 的话又略显麻烦。
    seancheer
        26
    seancheer  
       2018-05-09 14:45:27 +08:00
    vs 啊。。语法都没学会就想跑??
    前辈们造出这么多方便的工具,就是为了后辈们能减少工作量,说想 hardcore 一些?
    你咋不从手动造编译器开始呢?
    时间成本也是很昂贵的,而且往往很多时候一个东西你们不用学了很快就会忘掉。还不如老老实实先学好 c++,然后做点项目,等熟悉 c++的生态链了再去折腾 cmake,makefile,以及 linux 内核这些。
    dychenyi
        27
    dychenyi  
       2018-05-09 17:19:16 +08:00
    @wizardoz
    感觉都差不多。 可能我的项目都不算大。
    会写产生 la,a,so 库等用到一些固定格式。会-L -I 感觉差不多了。其余要看 manual 了。
    tL28Qt7jS56Yy8F9
        28
    tL28Qt7jS56Yy8F9  
       2018-05-09 17:37:18 +08:00
    Vim/Emacs/Sublime + g++
    初学够用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4027 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:30 PVG 13:30 LAX 21:30 JFK 00:30
    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