我是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
}
}