【原创】Masm32中使用VC运行时函数(msvcrt.inc)

  Masm32 SDK包中有一个msvcrt.inc头文件和msvcrt.lib导入库文件。这个头文件中的函数是由Masm32爱好者从VC的运行时库中导出整理的,msvcrt.inc头文件开头就说了:“prototypes for EXPORT msvcrt functions”。因此,在Win32汇编中用这个头文件来使用VC运行库的函数对编写Win32汇编程序来说是非常方便的。

  从msvcrt.inc中各个函数的原型可以看出,VC运行时中的各个函数名称前都多了一个crt__xxx,crt_xxx的前缀,使用这些函数只需要将msvcrt.inc和msvcrt.lib包含到源代码中,然后就可以直接用invoke伪指令来调用这些函数。下面是一个简单的例子:

.386
.model flat, stdcall

include        msvcrt.inc
includelib    msvcrt.lib

.const
    ; Note:不要在字符串中包含\n来换行;\n是C语言中的转义字符,它由C编译器在编译阶段处理成换行符,
    ;    而不是由printf函数来解析的,汇编器是不会将\n解释为换行符的
    szFmt    DB    "EAX = %d, EBX = %d, ECX = %d",0DH, 0AH, 0
.code

start:
    mov eax, 1
    mov ebx, 2
    mov ecx, 3
    invoke crt_printf, offset szFmt, eax, ebx, ecx
    invoke crt__getch
    ret
    
end start

 

 在Masm32中要使用VC运行时的函数,只要在msvcrt.inc中搜索一下VC运行时的函数名,确保一下有一个crt_或crt__前缀函数与之对应就行了!

转载于:https://www.cnblogs.com/cloudeman/archive/2012/04/09/2439438.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值