• Re: 删库跑路英文怎么说?

    hit and run, drop and bang.

    10月16日
  • Re: 请问,在实际工作中泛型有没有用?

    泛型应该是给库作者的,不是库使用者的。

    【 在 zollow (灌水终结者) 的大作中提到: 】

    : 自己开发的程序,没看到几个用泛型的,太难debug,用的也都是很简单的那种。

    10月14日
  • Re: 恭贺版主上任

    恭喜恭喜,还有分没?

    10月08日
  • Re: c/c++的开发人员是不是越来越少了?

    九评C++

    09月30日
  • Re: 所有 bug 的根源

    我的感觉是一个原则:

    尽量减少程序的state,不引入冗余的state。

    程序应该是描述各个state之间的关系,而不是一个存储各种state的场所,那种应该放到类似数据库的模块。

    如果可以算出来的auxiliary state,就不要另开辟存储空间存储它,防止未来的改动out of sync。

    如果计算很耗时需要cache,一定要单独列出来重点维护。

    09月28日
  • Re: c/c++的开发人员是不是越来越少了?

    coroutine出来后再劝退一波人,余自学c++以来,感觉c++下的coroutine是最难掌握的东西了。

    09月27日
  • 转一篇分析C++ executor提案的文章

    浅谈The C++ Executors:

    https://zhuanlan.zhihu.com/p/395250667

    我C++水平一般,看了一下表示能看懂一些。转到这里大家也会有所收获。

    原提案在这里:

    http://open-std.org/JTC1/SC22/WG21/docs/papers/2021/p2300r1.html

    看了上面那篇文章后再看这个,也能凑合读懂一些。

    如果C++引入这个框架,写并行代码的确简单很多,像搭积木一样。

    有点像INTEL的TBB,但是不用type-erasure,而是用模板参数来表达并行flow的结构。

    而且这个提案不仅仅是提出一套抽象模型,还会容纳接下来的coroutine,还有异构计算框架等等。

    我之前也做过一些设计构架并实现,基本也就是pipeline,缓冲,队列,排序,输出。

    如果这些引入C++标准化,的确是就搭搭积木就够了。告别各种繁琐细节,前提是要知道如何正确使用它们。

    09月25日
  • Re: 感慨一下

    neovim单独写GUI并不麻烦,core和gui是decouple了的,中间用消息通讯。

    我之前还想用fltk做一个gui,后来又觉得已经有了neovim-qt再做一个没有意义,并且

    也不见得有neovim-qt实现的更功能完整,就放弃了。

    自己做了个neovim的API client,这个更加有用些,生成一个libnvc.a,用来和neovim

    process通讯,可以做其他APP的中间件。

    https://github.com/etorth/libnvc

    【 在 No1 () No1 () 的大作中提到: 】

    : 哦,我觉得gvim在win下的字体支持非常原生,比emacs和neovim强太多了。

    : window里的字体设置,比如首选JetBrains Mono,没有的选微软雅黑Light,在gvim里就直接支持,高分屏也完美,和其他windows原生程序一毛一样,emacs和neovim这种半吊子非原生win gui程序就很差很差。

    : emacs和neovim的windows版本就是非常拉跨的那种,敷衍了事完成任务表明存在win版本而已

    : ...................

    09月22日
  • Re: [申请] miwang 申请 VIM/VI编辑器 版大版主

    spt

    【 在 miwang (迷楼) 的大作中提到: 】

    申请人ID:                                            

    : miwang

    版面英文名称:                                        

    : ...................

    09月22日
  • Re: 请版面尽快产生大版主

    这版都没啥日常管理需求。

    【 在 miwang 的大作中提到: 】

    : 我好久不来,大家谁来申请一下版主?

    : 或者我就再尸位素餐一届?

    09月20日
  • Re: 感慨一下

    我用neovim-qt,感觉也还好。

    不过没有安装文件,鼠标右键没有个“用vim打开”的选项。

    【 在 No1 的大作中提到: 】

    : neovim的win版nvim-qt是qt写得,比gvim的win版差了不是一丝半点

    09月18日
  • Re: github.dev

    这个不错。

    09月17日
  • Re: 开发之前你们都是怎么预估开发时间的?

    2/8定律,80%的工作量花20%的时间完成。剩下的就是修修bug+划水,老板还以为你巨忙。

    08月31日
  • Re: 五年以上的c++们,做过觉得自豪的东西吗

    我做过的麻烦的project不是C++,而是修补屎山。

    编程没有难易,不是火箭科技。只有成本和复杂度控制。

    08月30日
  • Re: [求助]求一个二叉树算法

    输出没有or吗

    08月23日
  • Re: 请教,这段代码哪里出了问题?

    家庭作业要自己做。

    08月23日
  • Re: 开发一个什么桌面软件能年赚100万

    工作选择来说mathworks是个垃圾公司,给钱少要求高。

    【 在 easior 的大作中提到: 】

    : 留意过 MATLAB 的运行库目录

    : 里面是 Intel MKL+Qt,以及一些数学算法库

    : 这些应该和 C/C++ 有关,

    : ...................

    08月22日
  • Re: 请教一个simd的问题

    嘿嘿嘿水平有限哈。

    编译器会去掉这个大switch的。

    - 来自 水木社区APP v3.5.1

    【 在 here080 的大作中提到: 】

    : 哪有你这么写模板的。

    : 一个大switch,default还没有fatal而是silently return

    : 既然用模板,就应该使用模板特化。

    08月21日
  • Re: 请教一个simd的问题

    谢谢各位回复和私信,我最后改成了这样,的确用到了_mm512_ror_epi64,但是没有用上_mm512_maskz_ror_epi64,不知道能不能进一步优化。

    我把j做成了模板参数,不然编译不过,说某些intrinsic function的参数需要为立即数。

    using WORD_t = __m512i;

    template<size_t j> static void shift_swap_u512(WORD_t &a, WORD_t &b, WORD_t mask)

    {

    switch(j){

    case 256:

    case 128:

    case 64:

    {

    const WORD_t t = (a ^ _mm512_alignr_epi64(b, b, j / 64)) & mask;

    a ^= t;

    b ^= _mm512_alignr_epi64(t, t, 8 - j / 64);

    return;

    }

    case 32:

    case 16:

    case 8:

    case 4:

    case 2:

    case 1:

    {

    const WORD_t t = (a ^ _mm512_ror_epi64(b, j)) & mask;

    a ^= t;

    b ^= _mm512_rol_epi64(t, j);

    return;

    }

    default:

    {

    return;

    }

    }

    }

    【 在 allegro 的大作中提到: 】

    : [code=c]

    : using WORD_t = __m512i;

    : static inline void shift_swap(WORD_t &a, WORD_t &b, int j, WORD_t mask)

    : ...................

    08月21日
  • Re: 请教一个simd的问题

    谢谢你。

    我今天看了一天文档,发现这段代码可以用循环移位来实现,不一定要大整数。

    大于64位的移位时,用_mm512_alignr_epi64这种循环移位,小于64的直接对8个64bit整数循环移位。

    这样也能达到函数的效果。

    【 在 libgcc 的大作中提到: 】

    : 那你的意思是你这段代码根本就不需要simd了?

    : simd不是这么用的啊

    08月20日