【问题标题】:Ratio of Source Code / Machine Language [closed]源代码/机器语言的比率[关闭]
【发布时间】:2013-02-15 10:37:55
【问题描述】:

对于计算机科学作业,我应该用任何语言编写一个小程序,并确定源代码指令与已编译机器代码指令的比率 - 我该怎么做?

【问题讨论】:

    标签: computer-science computer-architecture


    【解决方案1】:

    根据您的编译器,您可以使用开关来创建代码的汇编版本。汇编代码是操作码(“机器语言”)的直接助记符。

    With gcc(如果您更喜欢 Intel 而不是默认的 AT&T 语法,请考虑添加 -masm=intel):

    gcc -S ...
    

    据我所知,unixoid 系统上的其他编译器也支持-S。这将跳过编译,您需要查找以源文件命名的文件,但扩展名已替换为 .s

    with MSVC:

    cl.exe /FA
    

    ...您可以添加c(即/FAc),它也会编译它。然后,您将要查找 .asm 文件。

    另见:How can I see the assembly code for a C++ program?

    完成此操作后,您基本上可以比较(相关!)源代码行。然而,什么是相关的取决于你自己(或你老师)的判断。有一些工具可以计算SLOC,例如这篇维基百科文章中引用的那个:SLOCCount

    注意:第一段中关于直接表示的陈述略有不正确。如果我们在谈论宏汇编程序,那么这不成立,因为宏。但即使 MSVC 使用宏汇编器作为后端,编译器并没有充分利用宏功能,因此它们不应该(太多)干扰 SLOC 计数。

    【讨论】:

      猜你喜欢
      • 2013-01-16
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      相关资源
      最近更新 更多