# Red/System脚本的实际编写
# 写你的第一个Red/System脚本
Red/System []
print "Hello Bitbegin!"
把这段code复制到"HelloBitbegin.reds"文本文件中,然后使用 Red.exe -c HelloBitbegin.reds
编译出HelloBitbegin.exe
。在命令行下执行HelloBitbegin.exe
即可看到:
Hello Bitbegin!
这里 Red/System []
是必不可少的,Red
工具以此来识别语法使用Red/System
。
# 访问动态链接库
通常我们写的应用程序都需要调用操作系统的动态链接库,Red/System
提供了相应的访问动态链接库的机制。
#import [
"kernel32.dll" stdcall [
GetCommandLine: "GetCommandLineA" [
return: [c-string!]
]
SetErrorMode: "SetErrorMode" [
mode [integer!]
return: [integer!]
]
SetUnhandledExceptionFilter: "SetUnhandledExceptionFilter" [
handler [function! [record [SEH_EXCEPTION_RECORD] return: [integer!]]]
]
GetStdHandle: "GetStdHandle" [
type [integer!]
return: [integer!]
]
WriteFile: "WriteFile" [
handle [integer!]
buffer [c-string!]
len [integer!]
written [int-ptr!]
overlapped [integer!]
return: [integer!]
]
]
]
这些代码来自 "win32.reds"。
这就像C
语言中的函数声明。
# Red/System的命名空间
在完成Red/System
脚本时,最好加上命名空间功能,防止出现命名冲突。
Example:
func-a: context [
b: 123
]
print func-a/b