我想调用c函数'fputc',这样我就需要FILE指针我知道我可以使用putc等价物,但我很好奇是否有可能在asm中获得指向stdout的指针。在c或c++中,我会写一些类似于'stdout'或'&_iob[1]'的东西。是否有可能在不用'putc'替换'fputc'的情况下使其工作?(目标体系结构是x86-32上的Windows)。
范例程式码(我要打印'A'):
push <the value I need>
push 0x41
call _fputc
add esp, 8
1条答案
按热度按时间vdzxcuhz1#
你从MSVCRT.dll调用__iob_func,它返回一个iob结构,你在上面加上0x30,这就是stdout的地址。