这是在MASM中声明原型的正确方法吗?

时间:2019-05-06 10:13:54

标签: assembly masm

我是Assembly的新手,我写了一个简单的程序,除了调用过程调用_ExitProgram之后再从Windows调用ExitProcess之外,什么都不做。

_ExitProgram放在主过程上方时没有编译错误,但是当我将_ExitProgram放在主过程下面时,编译器无法识别函数.386 .MODEL FLAT, STDCALL OPTION CASEMAP : NONE ;################################################### ;IMPORT FUNCTIONS ExitProcess PROTO STDCALL, :DWORD ;LOCAL FUNCTONS _ExitProgram PROTO STDCALL, :DWORD ;################################################### .code _start: push ebp mov ebp, esp invoke _ExitProgram, 0 pop ebp ret end _start ;################################################## _ExitProgram PROC STDCALL, uExitCode:DWORD invoke ExitProcess, uExitCode ret _ExitProgram ENDP ;################################################## END 。我想知道如何以适当的方式声明一个过程。 任何人都可以。 谢谢

1>Assembling main.asm...

1>main.obj : error LNK2001: unresolved external symbol __ExitProgram@4

1>C:\Users\User\Documents\Visual Studio 2017\Projects\test\Debug\test.exe : 

fatal error LNK1120: 1 unresolved externals

1>Done building project "pack.vcxproj" -- FAILED.

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我正在使用Visual Studio 2017并获得以下信息:

class Canvas {
   constructor() { // grabs canvas - 2d context - calls init() etc}
   public init{ this.animate()}

   public animate(){
     window.requestAnimationFrame(this.animate);
     // other things to animate
   }

}

0 个答案:

没有答案