谁能把我的汇编程序转换成C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:01:23
.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib

.data?
szBuffer db MAX_PATH dup (?)

.const
szCaption db "2008",0

.code
start:
invoke GetWindowsDirectory,addr szBuffer,sizeof szBuffer
invoke MessageBox,NULL,addr szBuffer,addr szCaption,MB_OK
invoke ExitProcess,NULL

end start

;谢谢!麻烦大家了!

这是Windows 32位平台下的编程,程序是调用GetWindowsDirectory函数获取系统目录,一般是C:\Windows,再调用MessageBox弹出窗口函数输出获取的信息,最好调用ExitProcess退出函数结束程序。
顺便解释一下,汇编中的invoke 是调用函数的意思,一般是调用Windows的API函数,推荐看《Windows环境下32位汇编语言程序设计》这本书.

#include <windows.h>

char szBuffer[MAX_PATH];
const char szCaption[] = "2008";

int main()
{
GetWindowsDirectory(szBuffer, MAX_PATH);
MessageBox(NULL, szBuffer, szCaption, MB_OK);
return 0;
}

#include <windows.h>

int winmain(){
GetWindowsDirectory(&szBuffer,sizeof(szBuffer));
MessageBox(&szBuffer,&szCaption,0);
Return 0;
}

没看懂,什么平台、什么处理器上的啊?