我在这里遵循红色文档中的示例:http: //static.red-lang.org/red-system-specs.html#section-14
这是我的代码:
Red []
#import [
"SDL2.dll" cdecl [
sdl_init: "SDL_Init" [
flags [integer!]
return: [integer!]
]
]
]
rc: sdl_init 0
当我使用 Red 解释器执行此操作时,我在最后一行收到以下错误:
*** Error: word has no value!
*** Error: word has no value!
编译red -c
给出了一个更有用的错误:
*** Compilation Error: undefined word sdl_init
*** in file: %/C/temp/red/sdl.red
*** near: [sdl_init 0]
显然,sdl_init
在库导入期间定义的内容在到达最后一行时超出了范围。
那么,您如何解释文档中的示例?如果我在导入之前初始化sdl_init
为某个任意值,它在#import
块之后仍然保留相同的值。