• Geek_71d4ac
    2020-01-13
    想知道在vim上写C++,有没有比较好的插件推荐,谢谢

    作者回复: 看我的 Vim 配置,我用到的这些和 C++ 开发有关:

    clang_complete
    nerdcommenter(注释)
    vim-fugitive(git)
    vim-gitgutter(git)
    code_complete
    echofunc

    另外,我在 .vimrc 里加了下面几句来集成 clang-format:

    " Key mappings to use clang-format
    noremap <silent> <Tab> :pyxf /usr/local/opt/llvm/share/clang/clang-format.py<CR>
    inoremap <silent> <C-F> <ESC>:pyxf /usr/local/opt/llvm/share/clang/clang-format.py<CR>i

    
     5
  • tech2ipo
    2020-02-02
    我看到公司的算法库都用intel的icc编译器编译的,算法的同事说icc编译器编译的代码性能会好一些,对于计算密集型的程序是否可以用icc编译器代替gcc?

    作者回复: 你可以对照下面链接看一下,你需要的 C++ 功能在 ICC 里是不是支持了:

    https://en.cppreference.com/w/cpp/compiler_support

    初看之下,似乎问题不大。但性能问题,还是需要实测的。

    如果发现有问题(性能或功能),混合编译器也是可以考虑的,虽然管理上会复杂点。可以考虑把需要 ICC 编译的东西放单独的项目,编译成库,供其他项目使用。

    
     1
  • 王小白白白
    2020-02-03
    老师,c++项目用clang编译耗时10min,gcc 20min,在使用gcc的前提下有什么办法提高速度呢,最近研究使用预编译头,并且拆分头文件,快了三四分钟感觉也不理想。另外clang和gcc编译速度为什么差这么多呀

    作者回复: clang 本来就是为这方面做了很多优化的……但产生优化的二进制文件,似乎 gcc 仍然要强些。

    可以考虑并发编译。首先是 make 本身的 -j 参数。其次网上你能找到工具做多机并发编译的。

    
    
  • 睡在床板下
    2020-01-17
    windbg + application verifier + pclint
    
    
  • 阿太
    2020-01-14
    老师,在vscode用了您的clangformat配置,为啥好多配置选项报错呢。比如 regx 这些选项

    作者回复: 具体什么错误?在命令行上直接运行有问题吗?

    这些选项我从 Clang 3.x 开始用的,现在是 Clang 9,不应该有兼容性问题的……

    
    
  • 花晨少年
    2020-01-13
    一直在ubuntu用clion+bazle进行项目编译,感觉挺好用的,但是macbook这套方案没法用,很蛋疼。

    作者回复: Bazel?那你只能找Bazel和JetBrains的人解决这个兼容性问题了,我可没办法。😅

    或者改用CMake?我看了下Bazel的介绍,没觉得它比CMake好。特别是,CMake有不少特别的对C++的支持,包括对不同的编译器、Boost的库链接选项、C++标准,等等。

     1
    
  • 三味
    2020-01-13
    cpp中第三方库的管理超麻烦,x86或x64,release或debug,从vc6到最新的vs2019,windows下第三方库管理起来太麻烦了。
    那么,有没有一种好用的第三方库管理呢?
    如果用vs2015以上,超推荐使用vcpkg啊!就连生成汇编参考的那个网页工具,都大大咧咧的横幅推荐vcpkg,好用到爆啊!
    如何使用不多说了,如何好用提一下。命令行安装对应的库,工具会进行漫长的编译。要引用这个库,只需要#include对应的头文件,lib库会自动加载,dll会在运行的时候拷贝。就这样。

    作者回复: 名气是挺响了。我没有使用经验……

    
    
  • 廖熊猫
    2020-01-13
    看到C++ Insights这个工具了,跟大家分享一下这段总结的关于递归模板的几个心得吧。
    根据老师讲的这几种,我把这几种分类成: 1.数值、2.拉取、3.打包。
    1. 数值型:操作数值(一般是减去),然后到达一个终止条件(一般是等于0),例如factorial
    2. 拉取型:从...中每次拉取一个数值跟第一个参数进行操作,合并成一个参数,继续拉取过程,直到后面...中的参数被用光,终止条件就是指剩一个参数,例如: sum
    3. 打包型: 从第一个参数中分离出一个参数进入...参数包中,然后继续这个过程,直到第一个参数达到终止条件,例如: make_index_sequence
    只是个人见解,希望能对大家有点帮助。
    展开

    作者回复: 挺好。这确实是最常见的几种用法。

    
    
  • tt
    2020-01-13
    文末有彩蛋呦——C++ Insights

    作者回复: 嗯,这个是最近发现的,赶忙补进工具篇。

    
    
  • tt
    2020-01-13
    嗯,我说老师的代码怎么是我订阅的课程里显示最友好的呢!👍

    作者回复: 工具很重要。😎

    
    
我们在线,来聊聊吧