V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
WangLiCha
V2EX  ›  问与答

现在从零开始学习 C/C++最合适的 IDE 是什么?

  •  2
     
  •   WangLiCha · 2021-04-09 09:26:16 +08:00 · 9922 次点击
    这是一个创建于 1328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:有朋友为了跨考计算机研究生要学一下 C,想找一个比较合适的 IDE 来用

    我考虑了一下,现在我了解的可以用来写 C 的方案包括 Dev-C++,Visual Studio,Visual Studio Code + gcc/clang,CLion 。Dev-C++感觉有些过于老旧,配置 VSC 对从零开始的人来说好像也不是那么友好,其他两个大型 IDE 感觉又更适合写大型项目而不是从零开始学习。不知道有其他更好的方案吗?还是说最好的方案已经在上面 4 种其中了?

    89 条回复    2021-04-11 19:20:27 +08:00
    TimePPT
        1
    TimePPT  
       2021-04-09 09:27:50 +08:00 via Android
    买个 MacBook 装个 Xcode😂
    gxy2825
        2
    gxy2825  
       2021-04-09 09:29:10 +08:00
    Dev C++上手就能用,零基础完全够用
    Flymachine
        3
    Flymachine  
       2021-04-09 09:31:57 +08:00
    QT 打开自带的一些插件后也挺好用的
    ch2
        4
    ch2  
       2021-04-09 09:32:26 +08:00 via iPhone
    对于考研来说 vscode 就够了,vscode 配个调试很简单的
    Flymachine
        5
    Flymachine  
       2021-04-09 09:35:32 +08:00
    而且 QT 默认自带 MinGW7,基本也不需要配置。
    wasd6267016
        6
    wasd6267016  
       2021-04-09 09:36:18 +08:00 via iPhone
    clion 吧 开箱即用 不然就是 vs
    Jirajine
        7
    Jirajine  
       2021-04-09 09:41:17 +08:00 via Android   ❤️ 1
    vscode+clangd+xmake
    适合简单上手写单文件小程序。
    jiuyuezai
        8
    jiuyuezai  
       2021-04-09 09:42:38 +08:00
    vscode 配置不难吧,windows 下可以用这个工具:
    https://www.bilibili.com/video/BV1r4411E7Be
    violence123456
        9
    violence123456  
       2021-04-09 09:45:35 +08:00 via iPhone
    clion 好用,vscode 算了吧。。
    nicebird
        10
    nicebird  
       2021-04-09 09:47:38 +08:00
    vs 、Dev C++都行吧,反正能开箱即用写代码+调试就行了
    hahastudio
        11
    hahastudio  
       2021-04-09 09:50:17 +08:00
    Code::Blocks?
    easing
        12
    easing  
       2021-04-09 09:51:44 +08:00 via Android
    Turbo C++
    AManOnShelf
        13
    AManOnShelf  
       2021-04-09 09:52:03 +08:00
    windows: wsl+vscode+clang/gcc
    linux: vscode+clang/gcc
    mac: vscode+clang
    yolee599
        14
    yolee599  
       2021-04-09 10:09:54 +08:00
    Code::Blocks
    nlzy
        15
    nlzy  
       2021-04-09 10:11:32 +08:00   ❤️ 4
    首先排除 CLion,因为被宇宙第一 IDE Visual Studio 全方位吊打:Visual Studio 起码不用手写 CMakeLists.txt ,使用更流畅,个人使用还免费。

    其次排除 Dev-C++,功能太弱。及时的错误提示、智能的自动补全以及完善的调试器对初学者的帮助真的很大,而 Dev-C++ 做不到。

    最后排除 Visual Studio Code,不能开箱即用是最大的缺点,环境出了问题初学者不会修,被麻烦的又会是楼主。

    所以答案当然是 Visual Studio 啦,来和我念:宇 宙 第 一 I D E !

    PS: 我最近要打很多算法题,也是那种不用写项目但是要写很多程序片段,和楼主的需求很接近。我日常使用 Linux 机,所以选择的是 Visual Studio Code ;赛场上没有这玩意,正式比赛的时候用 Visual Studio 。
    coderluan
        16
    coderluan  
       2021-04-09 10:12:02 +08:00   ❤️ 2
    新手只推荐 Visual Studio, 原因很简单, 因为用这个, 一般的新手能遇见的问题, 你跑去百度都有答案.
    icyalala
        17
    icyalala  
       2021-04-09 10:14:10 +08:00
    从头学习的话,有专用的 IDE 当然是用 IDE 了,
    CLion 或者 Xcode 都没问题,与项目大小无关。
    后面想要了解编译过程,那直接 gcc/clang + CMake 。
    hupo0
        18
    hupo0  
       2021-04-09 10:20:57 +08:00
    为了能在 mac 和 windows 上开发同一个项目,我选择了 vscode + cmake 。由于一些个人喜好,配置起来花了不少时间。

    如果学习用的是 windows 系统,Visual Studio 是最友善的了。
    minami
        19
    minami  
       2021-04-09 10:28:09 +08:00
    CLion 是肯定要排除的,因为它是付费软件,初学者没必要花这钱。不知道为什么 v 站各位言必称 CLion,是付费普及率这么高了吗,还是别的啥原因。Dev-C++今年还在发新版,老旧说不上,看起来不咋样倒是真的。VSC 不是 IDE 。所以答案只有一个了,那就是 VS 社区版!!!
    vynkicc
        20
    vynkicc  
       2021-04-09 10:50:05 +08:00
    你永远可以相信微软家的 IDE
    xfcy
        21
    xfcy  
       2021-04-09 10:52:33 +08:00
    QtCreator,Code::Blocks
    jdhao
        22
    jdhao  
       2021-04-09 10:54:07 +08:00 via Android
    初学者,直接找个编辑器,gcc 都能编译了,又不是写大工程,犯得着这么复杂
    vvv7000
        23
    vvv7000  
       2021-04-09 10:58:37 +08:00
    @minami 教育邮箱免费
    watry
        24
    watry  
       2021-04-09 11:32:56 +08:00 via Android
    如果复试有机试,参考一下学校提供的 IDE,我考的只有 Dev C++、Code::blocks 、Eclipse
    hhyvs111
        25
    hhyvs111  
       2021-04-09 11:46:36 +08:00
    vim
    luckylucky
        26
    luckylucky  
       2021-04-09 11:52:42 +08:00
    Code::Blocks 或者 Dev C++。 我们学校( top 学校)机考可以用这两个。
    across
        27
    across  
       2021-04-09 11:56:02 +08:00
    写点算法小工程当然是 vs,IDE 的好处就是一条龙服务,省心。
    VSCode 那是比较熟悉了的,根据自己的需求定义解决方案。
    vinmkzr
        28
    vinmkzr  
       2021-04-09 12:10:36 +08:00
    centos8 自带的 vim 就挺好
    tabris17
        29
    tabris17  
       2021-04-09 12:13:15 +08:00
    Visual Studio Community
    borisz
        30
    borisz  
       2021-04-09 12:16:44 +08:00
    当然是 qtcreator
    3dwelcome
        31
    3dwelcome  
       2021-04-09 12:25:35 +08:00
    没人提到 codelite,我推荐一下。基本上是所有 IDE 里,体积最小最轻便又免费的工具了。

    VS 很好,可是太大了。VS Code 又需要自己折腾。
    对于初学者,最怕的就是各种麻烦,就喜欢那种功能不要太多,开箱即用的产品。
    mtw
        32
    mtw  
       2021-04-09 12:30:26 +08:00 via iPhone   ❤️ 1
    vim
    zyxbcde
        33
    zyxbcde  
       2021-04-09 12:34:22 +08:00 via Android
    @minami clion 学生免费,谁上班了还初学 c 啊
    inhzus
        34
    inhzus  
       2021-04-09 12:37:52 +08:00 via iPhone
    新手当然用 visual studio,好好学语言,不要在一开始浪费时间在编译构建上,了解多了以后自然都懂
    DOLLOR
        35
    DOLLOR  
       2021-04-09 12:39:06 +08:00
    https://github.com/Embarcadero/Dev-Cpp/
    Embarcadero fork 的一个 Dev-C++分支,编译器更新到 TDM-GCC 9.2.0
    LokiSharp
        36
    LokiSharp  
       2021-04-09 12:51:27 +08:00 via Android   ❤️ 2
    @minami 免费的才是应该排除的,我是来学写代码的,不是来配编辑器的
    serverABCD
        37
    serverABCD  
       2021-04-09 13:27:59 +08:00 via iPhone
    vim+gdb 。这两个不会就没学会 c
    chihiro2014
        38
    chihiro2014  
       2021-04-09 13:51:41 +08:00
    clion 也不用写 Cmake 文件,Cmake 文件在 vscode 上弄起来感觉地狱
    wheeler
        39
    wheeler  
       2021-04-09 14:04:31 +08:00 via iPhone
    visual studio 对 C 的支持不太好吧。
    suxiaoxiann
        40
    suxiaoxiann  
       2021-04-09 15:08:08 +08:00
    clion,飞一般的感觉,jb 家的东西有点东西。
    lonewolfakela
        41
    lonewolfakela  
       2021-04-09 15:49:53 +08:00   ❤️ 1
    @wheeler VS2019 已经完整支持 C17 了
    raaaaaar
        42
    raaaaaar  
       2021-04-09 18:31:27 +08:00 via Android
    谁说 cion 要手写 Cmake 。。
    zwy100e72
        43
    zwy100e72  
       2021-04-09 19:38:25 +08:00
    完全初学 -> Visual Studio

    进阶跨平台 / 跨编译器 -> CMake + Visual Studio Code / CLion
    levelworm
        44
    levelworm  
       2021-04-09 19:38:42 +08:00
    考研的朋友是女生不,是的话你帮她配置一下 VSCode 呗。
    iyaozhen
        45
    iyaozhen  
       2021-04-09 19:45:16 +08:00
    搞学习就是 Visual Studio

    又不是写工程
    ch2
        46
    ch2  
       2021-04-09 19:51:59 +08:00 via iPhone
    @minami 这个学生免费用
    anguiao
        47
    anguiao  
       2021-04-09 19:55:30 +08:00 via Android
    我感觉 CLion 挺好用的,只写单文件的话,也不需要去改 CMake 配置。
    VS 也可以,只是个人感觉用来写片段类的代码太笨重了。
    最不推荐的就是 VSCode,不要把时间花在折腾工具上,VSCode 并不是写 C 的好选择。
    Jirajine
        48
    Jirajine  
       2021-04-09 20:35:58 +08:00
    写一个简单的 vscode 配置 C/C++开发环境指南 https://www.v2ex.com/t/769571
    ryougifujino
        49
    ryougifujino  
       2021-04-09 20:42:27 +08:00
    @minami #19 普及率高还可能是因为,买的是 JB 的 All Product package,所以顺便就能用
    dingwen07
        50
    dingwen07  
       2021-04-09 20:45:37 +08:00 via Android
    VSC+WSL
    yitingbai
        51
    yitingbai  
       2021-04-09 21:08:51 +08:00
    Clion 最好用, 熟练掌握后, jb 全家桶都能用的很舒服, 而且 3 大主流系统都可以使用, 不会受平台限制
    h404bi
        52
    h404bi  
       2021-04-09 21:26:24 +08:00
    说实话,现在有 Visual Studio Installer 后,安装基本 0 配置,直接勾选 Desktop development with C++ 套件安装后,打开即用,也不担心套件老旧。想省心不折腾就它吧。
    pkookp8
        53
    pkookp8  
       2021-04-09 21:36:36 +08:00 via Android
    竟然没人说 vc6.0
    我来狗头一波
    GeruzoniAnsasu
        54
    GeruzoniAnsasu  
       2021-04-09 21:38:37 +08:00
    宇宙第一 IDE 要配宇宙第一的插件

    vs+resharper,现在 resharper 支持 c/++/#,没有比这更好的组合了
    wheeler
        55
    wheeler  
       2021-04-09 22:19:36 +08:00 via iPhone
    @lonewolfakela 查了下还真是,感谢告知。
    inframe
        56
    inframe  
       2021-04-09 22:23:02 +08:00
    提一个 CFree 5.0,学习 C 基础语法够用且足够小巧,自带的 gcc 4.x 也应付的了 cpp 各种数据结构 stdlib,初学者完全够用且相对概念简单;
    用过 gcc 手动编译,dev-c++,vscode+插件,vs2013-2019,notepad++/插件,clion ;
    imzcg2
        57
    imzcg2  
       2021-04-09 22:39:54 +08:00 via Android
    peapods
        58
    peapods  
       2021-04-09 22:44:18 +08:00 via Android
    Code::Blocks +1
    levelworm
        59
    levelworm  
       2021-04-09 23:21:35 +08:00 via Android
    Visual Studio 有个缺点,就是项目导向,你学语言免不了写一大堆程序,每个都有 main 吧,这就抓瞎了,新手可不知道如何解决。总不能一个文件一个项目吧?所以我觉得新手还是 VSCode 然后自己搜一下 gcc 怎么编译就好了。当然理论上 Windows 下面也可以这么做,但是我觉得还是 Linux 方便。不过这又要求会装虚拟机,虽然呃我觉得这不是挺简单的。
    rousseauuu
        60
    rousseauuu  
       2021-04-09 23:31:11 +08:00
    个人觉得仅仅只是学 C 的语法不如就用网页编译器
    oy9r
        61
    oy9r  
       2021-04-09 23:36:49 +08:00
    Vim
    HolaPz
        62
    HolaPz  
       2021-04-09 23:39:03 +08:00
    我就一个普通学生,C 喜欢在 Linux 虚拟机里装个 GCC 用 VIM 写,C++就在 visual studio 写
    niceworld
        63
    niceworld  
       2021-04-09 23:41:14 +08:00
    code blocks,特别是面向入门,还需要刷题的啥的挺好用的。
    leoleoasd
        64
    leoleoasd  
       2021-04-10 00:24:45 +08:00   ❤️ 3
    首先排除 visual studio 。msvc 标准和 gcc/clang 啥的不兼容。我身边用 vs 的同学入门的时候最大的疑惑就是为啥 vs 建议用 scanf_s 啥的,但是代码提交到 oj 上就编译错误。
    **绝大部分评测环境(比赛 /考研机试等)都是 gcc 编译器**。 用 msvc 就是自讨苦吃
    leoleoasd
        65
    leoleoasd  
       2021-04-10 00:28:01 +08:00
    除非学 c/c++的唯一目的是写 win32 程序,只要是学校里学的话就绕不开机试。如果有机试就绕不开编译器兼容性问题。
    除了 visual studio 之外别的 ide 基本都不会遇到编译器兼容问题。
    windows 平台相对好的解决方案是,用 visual studio 安装器,选“单个组件”里的 clang 编译器,然后在 clion 里配置用。
    clang 编译器给出的错误提示比 devc++等自带的低版本 gcc 更有好,新手更容易看错错误在哪儿。
    clion 也不需要手写 cmakelist 。可以装一个叫 “c++ single file execution"的插件,自动给单文件创建 cmakelist
    leoleoasd
        66
    leoleoasd  
       2021-04-10 00:31:30 +08:00
    计算机科学与技术专业学生,程序设计课程和数据结构课程助教。入门阶段,最多的问题就是“为什么平台上说 scanf_s 和 printf_s 函数不存在”以及“这个编译错误啥意思”。 用上述解决方案能很好的解决这两个问题。

    再说两句有关编译器错误提示:比如少个分号,一些低版本 gcc 会说 unexpected identifier,clang 会说"expected ;"
    ipwx
        67
    ipwx  
       2021-04-10 00:49:13 +08:00
    domodomo
        68
    domodomo  
       2021-04-10 00:54:50 +08:00
    从零开始别用 IDE,我保证你打开 IDE 就懵逼,先搞懂怎么回事再去用 IDE
    如何手动编译链接一个程序都要搞懂才行
    Vim 可能不太适合新手,vscode + gcc 是最佳选择
    imjamespond2020
        69
    imjamespond2020  
       2021-04-10 02:39:32 +08:00 via Android
    net beans 最好用 就是有点卡
    gBurnX
        70
    gBurnX  
       2021-04-10 03:40:08 +08:00
    零基础学 C/C++,建议虚拟机上用 CentOS + vim + gdb 。推荐的原因是,整个折腾过程中,能让你把计算机发展史、操作系统与编程语言的关系、编译器、调试等问题,全部简单地摸索一遍。另外如果有时间,建议你试试汇编语言写写小程序,能加深你对 C/C++的认识。

    不过,当你开始玩数据结构,玩算法,做一些小项目时,建议回到 Windows + QT 跑开发,CentOS + Mysql 跑数据的环境下,因为这套环境对提高工作效率、对以后正式找工作,有帮助。

    另外,当你开始觉得 C++ 的开发效率成为瓶颈时,有两个新选择:
    个人开发创业:Windows + VS + MSSQL 。
    团队合作互联网项目:CentOS + Java + Mysql 。
    团队合作企业级项目:CentOS + Java + Oracle 。
    mingl0280
        71
    mingl0280  
       2021-04-10 07:06:56 +08:00 via Android
    Visual Studio,没有其它选择。仅仅是不需要配置环境+IntelliSense 这两点吊打任何入门选项了。其他的什么编译环境配置啊,这些都不是你现在要计中精力学的。
    Cloutain
        72
    Cloutain  
       2021-04-10 08:13:16 +08:00
    Qt 轻巧方便,初学完全足够
    dyv9
        73
    dyv9  
       2021-04-10 08:17:51 +08:00 via Android
    @rousseauuu 所以 compiler explorer 这样的网页
    zxCoder
        74
    zxCoder  
       2021-04-10 08:21:20 +08:00
    devc
    miao666
        75
    miao666  
       2021-04-10 08:26:37 +08:00
    @nlzy 就是了,我从学校一直用 vs2010,不知道大家为啥这么抗拒这个 IDE,反正我觉得稳定强大好用
    adeng
        76
    adeng  
       2021-04-10 08:40:26 +08:00 via Android
    @minami 楼主朋友是考研,学习用的,社区版的就够(说句不太好的,破解也未尝不可),Dev 真的是看不惯,如果再让我重新学 C 语言,我一定选有智能补全的,起码知道正确的怎么写,而不是一直纠正拼写和语法错误,让更多的精力思考 C 语言的逻辑结构和算法
    xumng123
        77
    xumng123  
       2021-04-10 09:00:09 +08:00 via iPhone
    vscode
    mosfet
        78
    mosfet  
       2021-04-10 09:05:27 +08:00   ❤️ 2
    发现 V2,zhihu 很多人喜欢让初学者把一个文本编辑器装配成一个“IDE”
    美名其曰,学习运作机制
    menyakun
        79
    menyakun  
       2021-04-10 09:14:28 +08:00
    跨考的话,打听一下机试能用什么 IDE 吧,从中选一个。
    SJ2050cn
        80
    SJ2050cn  
       2021-04-10 11:30:48 +08:00
    初学推荐用 codeblocks
    p1gd0g
        81
    p1gd0g  
       2021-04-10 12:39:09 +08:00
    之前一直用 codeblock,考研复试机试时发现没有这个。匆匆忙忙换 vc++,发现自己不会新建工程,差点凉了。
    Plague
        82
    Plague  
       2021-04-10 13:04:40 +08:00
    小项目 vscode,大项目 clion
    Cbdy
        83
    Cbdy  
       2021-04-10 13:16:01 +08:00 via Android
    vc6.0
    kios
        84
    kios  
       2021-04-10 13:49:31 +08:00
    visual studio community 2019
    nanjoyoshino
        85
    nanjoyoshino  
       2021-04-10 15:31:36 +08:00
    vs 吧,clion 没社区版,还得搞破解,挺麻烦的
    songteng0604
        86
    songteng0604  
       2021-04-10 16:00:47 +08:00   ❤️ 1
    @leoleoasd 看了一下一共有 85 楼的回帖,只有你的回帖是正确的,是真正站在初学者角度在讲的。
    jones2000
        87
    jones2000  
       2021-04-10 20:20:03 +08:00
    vc6.0
    yanyanlongxia
        88
    yanyanlongxia  
       2021-04-11 10:57:15 +08:00
    只用 C++的话肯定 CLion 最好吧
    shakespark
        89
    shakespark  
       2021-04-11 19:20:27 +08:00
    如果完全不会 linux,那就别先整什么 g++了,直接 visual studio 赶紧学起来,后续如果要求用 g++再装 wsl 、centos 之类的学。
    另外,简单程序可以在线编译运行
    https://www.tutorialspoint.com/compile_cpp11_online.php
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:09 · PVG 02:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.