V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
pastel
V2EX  ›  程序员

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

  •  
  •   pastel · Jan 15, 2017 · 8793 views
    This topic created in 3397 days ago, the information mentioned may be changed or developed.
    gdb 即使用某插件,调试 gdb 还是很痛苦啊
    vs 调试功能强大,但是一大堆无关文件,看着也头大

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

    有什么更好的工具呢?
    68 replies    2017-02-04 16:40:04 +08:00
    gamecreating
        1
    gamecreating  
       Jan 15, 2017   ❤️ 1
    VS
    messyidea
        2
    messyidea  
       Jan 15, 2017 via Android
    cfree codeblocks
    ipwx
        3
    ipwx  
       Jan 15, 2017
    完善的平台:

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

    这时候你就可以调试他了

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

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

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

    就这种智商,这群人几乎可以告别 IT 界了
    TaMud
        43
    TaMud  
       Jan 15, 2017
    连数学模型都不会,还搞啥算法。。。。。。。。。
    uxstone
        44
    uxstone  
       Jan 15, 2017
    学个算法还纠结编程工具 ???
    当在做工程呐
    写工程项目推荐 Clion+CMake
    wdongxv
        45
    wdongxv  
       Jan 15, 2017
    竟然没人推荐 eclipse + CDT
    mayne95
        46
    mayne95  
       Jan 15, 2017 via Android
    vc6 看内存调试是挺爽的😂
    newtype0092
        47
    newtype0092  
       Jan 15, 2017   ❤️ 1
    我以前也觉得 VS 臃肿,里面一大堆没用的东西,跟前辈学了一年才觉得里面每个功能、工程里每个文件都是有用的,平时也许不太用的着,但遇到问题的时候才显得这些东西的重要。
    对初学者来说 VS 就像飞机,密密麻麻全是按钮仪表盘,看着还不如自行车蹬上就能走,但学到一定程度就可以起飞了~
    noahsss
        48
    noahsss  
       Jan 15, 2017
    CodeBlocks
    ipwx
        49
    ipwx  
       Jan 15, 2017
    IDE 上手慢,但是熟悉之后绝对可以提升任何任务的工作效率。
    HFX3389
        50
    HFX3389  
       Jan 15, 2017
    @newtype0092 跟我同学一样,我们现在在学 Java ,他会一些 C++,他觉得 intellij idea 比 VS 好用得多!
    herozhang
        51
    herozhang  
       Jan 15, 2017
    emacs
    Cbdy
        52
    Cbdy  
       Jan 15, 2017 via Android
    netbean
    rocksolid
        53
    rocksolid  
       Jan 15, 2017
    建议练习白板用编辑器, notepad++之类,只要能编译个结果就行,碰到男的要调试, vs 不二选择
    monnand
        54
    monnand  
       Jan 16, 2017 via Android
    Vim + YouCompleteMe
    用单元测试代替调试器。如果必须用调试器, gdb 也差不多了。但是需要用到调试器的时候就证明你代码或测试有问题
    chai2010
        55
    chai2010  
       Jan 16, 2017 via iPhone
    居然没有人推荐面向 printf 调试
    araraloren
        56
    araraloren  
       Jan 16, 2017
    qtcreator +1
    跨平台的最强大的 c/c++ IDE 不是吹的~~
    snnn
        57
    snnn  
       Jan 16, 2017 via Android
    好好学 gdb 或者 WinDbg ,这二者非常优秀,无可替代
    owt5008137
        58
    owt5008137  
       Jan 16, 2017 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  
       Jan 16, 2017
    没有比 gdb 更好的调试器了,少年多多修炼吧
    yangff
        60
    yangff  
       Jan 16, 2017
    @owt5008137 哪个简单自己试试就知道了…… 你还可以在里面加自动测试的代码,计时、计内存的的代码……
    你这个代码只要丢在 Source 里面,编译的时候会被自动 link 上,你动都不用动他。
    springzero
        61
    springzero  
       Jan 16, 2017
    codeblocks +1
    HuangLibo
        62
    HuangLibo  
       Jan 16, 2017
    vscode 有人推荐吗?
    tairan2006
        63
    tairan2006  
       Jan 16, 2017   ❤️ 1
    vs2017 rc 只安装 C++的就完了。。
    yuankui
        64
    yuankui  
       Jan 16, 2017
    楼主没有纠结到电子上
    starqoq
        65
    starqoq  
       Jan 16, 2017 via Android
    我一般都是 notepad++
    不用 ide 是因为 IDE 的提示太烦人。打断思路。

    写完再放到 vs 里编译。
    ryd994
        66
    ryd994  
       Jan 16, 2017 via Android
    如果你只能靠 debugger 来定位问题,说明你的 debug 日志不及格
    vim+gcc+valgrind 足够了
    有些时候做题之类的,单纯验证算法而不在乎代码质量的时候,我会用 kgdb
    你说 gdb 麻烦是因为没有好的 gui 前端
    Tianqi
        67
    Tianqi  
       Jan 16, 2017 via iPhone
    除非你是 single file program ,不然还是用 VS 比较好,那些文件类似于 CMakeList , Make File 的作用, C++是逃不开的。那些文件里好多还是临时文件,版本管理可以无视的。
    misaka19000
        68
    misaka19000  
       Feb 4, 2017
    @tairan2006 确实, VS2017 终于不用再像以前那样装个 VS 花掉 50G 的硬盘空间了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   790 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 177ms · UTC 20:19 · PVG 04:19 · LAX 13:19 · JFK 16:19
    ♥ Do have faith in what you're doing.