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

用 c++做算法,用什么编程工具比较好?

  •  
  •   pastel · 2017-01-15 11:14:59 +08:00 · 7914 次点击
    这是一个创建于 2899 天前的主题,其中的信息可能已经有所发展或是发生改变。
    gdb 即使用某插件,调试 gdb 还是很痛苦啊
    vs 调试功能强大,但是一大堆无关文件,看着也头大

    有什么工具,可以干净地调试算法呢?
    母亲还是觉得 vc6 不错,但是 stl 调试功能还是有点弱

    有什么更好的工具呢?
    68 条回复    2017-02-04 16:40:04 +08:00
    gamecreating
        1
    gamecreating  
       2017-01-15 11:27:43 +08:00   ❤️ 1
    VS
    messyidea
        2
    messyidea  
       2017-01-15 11:41:26 +08:00 via Android
    cfree codeblocks
    ipwx
        3
    ipwx  
       2017-01-15 11:44:58 +08:00
    完善的平台:

    Windows 平台用 Visual Studio >= 2015 ,如果不差钱再加上一个 Visual Assist X 。
    Mac 平台可以考虑 JetBrains CLion ,或者 Xcode 也能凑合用。
    Linux 可以考虑 KDevelop 。
    zhidian
        4
    zhidian  
       2017-01-15 12:02:41 +08:00
    qt creator + cmake/make + mingw/linux
    pimin
        5
    pimin  
       2017-01-15 12:07:08 +08:00
    VS
    tracyone
        6
    tracyone  
       2017-01-15 12:08:10 +08:00
    vc6?????十几年前的东西还用?
    akakcolin
        7
    akakcolin  
       2017-01-15 12:25:51 +08:00
    用 qt
    kokutou
        8
    kokutou  
       2017-01-15 12:28:12 +08:00 via Android
    vc6 ???
    黑人问好.jpg
    feng32
        9
    feng32  
       2017-01-15 12:30:57 +08:00
    vim + gcc + 打日志就够了
    lsmgeb89
        10
    lsmgeb89  
       2017-01-15 12:40:57 +08:00
    gdb 有什么痛苦的?
    nopy
        11
    nopy  
       2017-01-15 12:40:58 +08:00
    xiaopc
        12
    xiaopc  
       2017-01-15 12:44:53 +08:00 via Android
    Codeblocks or Dev-C++
    不直接输 gdb 命令还想多痛苦😂
    xuboying
        13
    xuboying  
       2017-01-15 12:47:34 +08:00 via iPhone
    矫情。。。 c++ vse 宇宙无敌,啥叫一堆无用文件。。。太不尊重 vs 开发团队了。
    linboki
        14
    linboki  
       2017-01-15 12:51:31 +08:00 via Android
    @xuboying 你这样说 不太尊重外星文明
    starvedcat
        15
    starvedcat  
       2017-01-15 12:52:49 +08:00
    “干净地调试”中的“干净”是什么意思
    xuboying
        16
    xuboying  
       2017-01-15 12:58:44 +08:00 via iPhone
    @linboki 外星人不用 c++
    bdbai
        17
    bdbai  
       2017-01-15 12:59:54 +08:00 via Android
    Qt Creator
    waruqi
        18
    waruqi  
       2017-01-15 13:05:34 +08:00
    vim + xmake
    waruqi
        19
    waruqi  
       2017-01-15 13:10:51 +08:00
    做算法 还是用 c 吧。。嘿嘿
    cnilnhf
        20
    cnilnhf  
       2017-01-15 14:00:25 +08:00 via Android
    Dev-C++
    ddhwen
        21
    ddhwen  
       2017-01-15 14:15:19 +08:00 via Android
    Dev-C++,功能一般,但用来做 oJ 足以,胜在轻量
    laven
        22
    laven  
       2017-01-15 14:47:49 +08:00
    vim / source insight / sublime / vscode
    siloong
        23
    siloong  
       2017-01-15 14:50:04 +08:00
    code blocks +1
    iCyMind
        24
    iCyMind  
       2017-01-15 15:21:31 +08:00
    你母亲好厉害, 居然还会调试
    xiadong1994
        25
    xiadong1994  
       2017-01-15 15:27:48 +08:00
    Windows: VS/CLion/Qt Creator
    Linux: CLion/vim
    whwq2012
        26
    whwq2012  
       2017-01-15 15:28:11 +08:00 via Android
    您妈妈居然会编程,看来是编程世家😁
    pzzrudlf
        27
    pzzrudlf  
       2017-01-15 15:54:12 +08:00 via Android
    @whwq2012 可能是老师
    Readme16
        28
    Readme16  
       2017-01-15 15:57:34 +08:00 via iPhone
    @whwq2012 lz 想说的应该是目前吧……
    potaty
        29
    potaty  
       2017-01-15 16:00:05 +08:00
    gdb
    zhangbohun
        30
    zhangbohun  
       2017-01-15 16:02:40 +08:00
    Dev-cpp
    youngitachi
        31
    youngitachi  
       2017-01-15 16:02:58 +08:00
    @Readme16 估计是这意思,笑死我了。
    oska874
        32
    oska874  
       2017-01-15 16:20:05 +08:00   ❤️ 1
    用脑子比较好。
    extreme
        33
    extreme  
       2017-01-15 16:23:43 +08:00
    怎么那么少人推荐 CLion ,我觉得 CLion 比 VS 好用得多。
    zhidian
        34
    zhidian  
       2017-01-15 16:28:22 +08:00
    CLion 太贵……
    zhidian
        35
    zhidian  
       2017-01-15 16:28:54 +08:00
    最厌烦 JB 的产品不能一次性买断。
    scorfish
        36
    scorfish  
       2017-01-15 16:46:38 +08:00
    CLion 有点慢
    yangff
        37
    yangff  
       2017-01-15 16:57:03 +08:00
    VS 开一个 Empty Project
    然后把要调试的代码直接拖进项目的 Source

    这时候你就可以调试他了

    最后搞完右键排除出项目,就行了。一个项目多次使用

    然后呢,有些 OJ 是文件 IO ,有些是键盘输入,后者每次调试都要输入很烦

    可以直接建一个新的代码文件,放一个 struct ,它的构造函数里面写 freopen ,析构写 close ,还可以按需要加上 system("pause")之类的
    j5shi
        38
    j5shi  
       2017-01-15 16:57:16 +08:00
    看到"母亲"有点懵逼了...
    htfy96
        39
    htfy96  
       2017-01-15 16:58:24 +08:00
    算法直接 vim + g++ + gdb 嘛。。或者 Linux 下可以 CLion, 2016.3.2 的 bug 已经修了不少了
    alqaz
        40
    alqaz  
       2017-01-15 18:18:44 +08:00
    win 下 vs2015 ,其他的话 Qt Creator.
    coderluan
        41
    coderluan  
       2017-01-15 18:24:35 +08:00
    codeblocks/codelite 应该能满足楼主要求。
    mingw+vscode+cpp 插件也不错。
    但是其实都不如 vs 舒服,一大堆文件那个我感觉是楼主没用明白或者强迫症。
    TaMud
        42
    TaMud  
       2017-01-15 18:27:55 +08:00
    @oska874
    我也觉得,必须有脑子才行

    就这种智商,这群人几乎可以告别 IT 界了
    TaMud
        43
    TaMud  
       2017-01-15 18:30:35 +08:00
    连数学模型都不会,还搞啥算法。。。。。。。。。
    uxstone
        44
    uxstone  
       2017-01-15 18:43:56 +08:00
    学个算法还纠结编程工具 ???
    当在做工程呐
    写工程项目推荐 Clion+CMake
    wdongxv
        45
    wdongxv  
       2017-01-15 20:24:56 +08:00
    竟然没人推荐 eclipse + CDT
    mayne95
        46
    mayne95  
       2017-01-15 21:18:31 +08:00 via Android
    vc6 看内存调试是挺爽的😂
    newtype0092
        47
    newtype0092  
       2017-01-15 21:34:31 +08:00   ❤️ 1
    我以前也觉得 VS 臃肿,里面一大堆没用的东西,跟前辈学了一年才觉得里面每个功能、工程里每个文件都是有用的,平时也许不太用的着,但遇到问题的时候才显得这些东西的重要。
    对初学者来说 VS 就像飞机,密密麻麻全是按钮仪表盘,看着还不如自行车蹬上就能走,但学到一定程度就可以起飞了~
    noahsss
        48
    noahsss  
       2017-01-15 21:40:10 +08:00
    CodeBlocks
    ipwx
        49
    ipwx  
       2017-01-15 22:06:53 +08:00
    IDE 上手慢,但是熟悉之后绝对可以提升任何任务的工作效率。
    HFX3389
        50
    HFX3389  
       2017-01-15 22:07:36 +08:00
    @newtype0092 跟我同学一样,我们现在在学 Java ,他会一些 C++,他觉得 intellij idea 比 VS 好用得多!
    herozhang
        51
    herozhang  
       2017-01-15 22:24:31 +08:00
    emacs
    Cbdy
        52
    Cbdy  
       2017-01-15 22:44:35 +08:00 via Android
    netbean
    rocksolid
        53
    rocksolid  
       2017-01-15 23:08:56 +08:00
    建议练习白板用编辑器, notepad++之类,只要能编译个结果就行,碰到男的要调试, vs 不二选择
    monnand
        54
    monnand  
       2017-01-16 01:05:36 +08:00 via Android
    Vim + YouCompleteMe
    用单元测试代替调试器。如果必须用调试器, gdb 也差不多了。但是需要用到调试器的时候就证明你代码或测试有问题
    chai2010
        55
    chai2010  
       2017-01-16 07:11:17 +08:00 via iPhone
    居然没有人推荐面向 printf 调试
    araraloren
        56
    araraloren  
       2017-01-16 08:45:37 +08:00
    qtcreator +1
    跨平台的最强大的 c/c++ IDE 不是吹的~~
    snnn
        57
    snnn  
       2017-01-16 08:48:34 +08:00 via Android
    好好学 gdb 或者 WinDbg ,这二者非常优秀,无可替代
    owt5008137
        58
    owt5008137  
       2017-01-16 09:04:29 +08:00 via Android
    讲道理 vc6 生成的工程文件和中间文件数量和 vs2015 差不多多吧。上面提到的那么多 ide ,哪个不是要生成中间文件和会生成工程文件的?
    如果是要打开就能编译调试还是 codeblocks 或者 codelite 吧,至少比较轻量级。
    vc6 的编译器都老掉牙了,茫茫多语法和特性和现在的标准不兼容,现在还用不是误导人么。
    clion 学生是免费的,也是目前最智能的 c++ IDE ,但是确实太耗内存了,而且不是 ssd 硬盘也不太扛得住,而且还要你学习 cmake 。综合起来还是 visual studio 的消耗低也足够智能。

    @yangff 我以前搞 acm 的时候也喜欢 freopen ,然而后来知道直接重定向输入和输出流不是更简单?都不用写代码。 system("pause")是仅支持 windows 的,你运行的时候 ctrl+f5 (非调试运行),运行完不会退出的,如果直接 f5 (调试运行),那直接结尾打断点好了
    stormpeach
        59
    stormpeach  
       2017-01-16 09:05:19 +08:00
    没有比 gdb 更好的调试器了,少年多多修炼吧
    yangff
        60
    yangff  
       2017-01-16 09:16:50 +08:00
    @owt5008137 哪个简单自己试试就知道了…… 你还可以在里面加自动测试的代码,计时、计内存的的代码……
    你这个代码只要丢在 Source 里面,编译的时候会被自动 link 上,你动都不用动他。
    springzero
        61
    springzero  
       2017-01-16 09:30:46 +08:00
    codeblocks +1
    HuangLibo
        62
    HuangLibo  
       2017-01-16 09:49:49 +08:00
    vscode 有人推荐吗?
    tairan2006
        63
    tairan2006  
       2017-01-16 09:59:12 +08:00   ❤️ 1
    vs2017 rc 只安装 C++的就完了。。
    yuankui
        64
    yuankui  
       2017-01-16 10:01:57 +08:00
    楼主没有纠结到电子上
    starqoq
        65
    starqoq  
       2017-01-16 12:46:39 +08:00 via Android
    我一般都是 notepad++
    不用 ide 是因为 IDE 的提示太烦人。打断思路。

    写完再放到 vs 里编译。
    ryd994
        66
    ryd994  
       2017-01-16 13:04:07 +08:00 via Android
    如果你只能靠 debugger 来定位问题,说明你的 debug 日志不及格
    vim+gcc+valgrind 足够了
    有些时候做题之类的,单纯验证算法而不在乎代码质量的时候,我会用 kgdb
    你说 gdb 麻烦是因为没有好的 gui 前端
    Tianqi
        67
    Tianqi  
       2017-01-16 18:15:18 +08:00 via iPhone
    除非你是 single file program ,不然还是用 VS 比较好,那些文件类似于 CMakeList , Make File 的作用, C++是逃不开的。那些文件里好多还是临时文件,版本管理可以无视的。
    misaka19000
        68
    misaka19000  
       2017-02-04 16:40:04 +08:00
    @tairan2006 确实, VS2017 终于不用再像以前那样装个 VS 花掉 50G 的硬盘空间了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4849 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:56 · PVG 17:56 · LAX 01:56 · JFK 04:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.