V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raawaa
V2EX  ›  程序员

在 Linux 上初学 C++

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

    动手实践前还要学习构建工具(选择了 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
    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 了。
    ilgharkus
        28
    ilgharkus  
       2018-05-09 17:37:18 +08:00
    Vim/Emacs/Sublime + g++
    初学够用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5299 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:47 · PVG 11:47 · LAX 19:47 · JFK 22:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.