设为首页 加入收藏

TOP

类似Common Lisp的多参数加法(二)
2014-07-19 23:03:21 来源: 作者: 【 】 浏览:145
Tags:类似 Common  Lisp 参数 加法

 

    让我们来看看真相(clang):

    1 foo(int, int, int, int):                             # @foo(int, int, int, int)

    2     cmpl    %esi, %edi

    3     jge    .LBB0_1

    4     cmpl    %edx, %esi

    5     setl    %sil

    6     cmpl    %ecx, %edx

    7     setl    %al

    8     andb    %sil, %al

    9     ret

    10 .LBB0_1:

    11     xorl    %eax, %eax

    12     ret

    13

    14 bar(int, int, int, int):                             # @bar(int, int, int, int)

    15     addl    %esi, %edi

    16     leal    (%rdi,%rdx), %eax

    17     addl    %ecx, %eax

    18     ret

    和手写的完全没差噢, 稍微是丑一点,不过你看下CL的汇编, 肯定比C++的慢…(逃

    最后,这有啥用?

    多参数加法似乎是没啥用处了,还不如写a+b+c+d呢

    多参数比较还行

    a < b and b < c and c < d

      

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++迭代器失效的问题汇总 下一篇libjingle线程机制

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)