【问题标题】:x86 assembly (masm32) - alternatives to built-in macrosx86 程序集 (masm32) - 内置宏的替代品
【发布时间】:2012-04-29 05:12:53
【问题描述】:

我一直想知道在文件开头使用所有这些 include 语句是否会降低程序的运行速度,因为它必须找到文件,打开它,初始化代码,然后运行它。我正在使用所有这些:

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib

所以我一直在想,因为宏本质上是调用一个代码函数来节省你自己编写它的时间,所以我想使用实际的代码,以节省我的程序必须在以下位置查找、初始化和调用所有这些文件我的程序的开始。

实际问题:

现在我已经告诉了你我的想法,我可以告诉你我的问题。谁能给我提供 StdOutinvokeExitProcess 宏的实际代码,因为它们是我大部分时间使用的宏.任何帮助将不胜感激。

【问题讨论】:

  • 我会假设这些宏是由汇编器扩展的,而不是在运行时。
  • 你已经有了你想要的,只需在文本编辑器中打开 .inc 文件。

标签: assembly macros x86 masm32


【解决方案1】:

.inc 文件是汇编程序包含文件,只会减慢编译速度。通常,只有您使用的宏才会以任何方式影响您的代码。

.lib 文件包含许多小代码块(.obj 文件),只有包含您使用的函数的代码块才会链接到您的程序中。所以在大多数情况下,担心它是没有意义的。

仅供参考MASM32 安装程序安装并编译库源代码。查看根目录下的includem32lib 目录(可能是C:\MASM32)。

请注意,您可能无法简单地从源文件中复制代码,但您可以了解代码的作用,然后自己重​​新实现功能,这不会很难,因为它们都是比较小。

【讨论】:

  • 我找到了文件 'windows.inc' 和 'm32lib.inc' ,但我不知道在哪里查看它们。文件中的文本看起来与我以前从未见过的完全不同,所以我不知道要查找什么。
  • 嗯,源代码可能在 masm32\m32lib 中 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
相关资源
最近更新 更多