标签中带有 space 的 AssemblyScript 导出名称
AssemblyScript export name with space in its label
我需要导出一个指向函数的标签,例如
(func $can_sayhello (export "can sayhello") (type $t3)
我能得到的最接近的是:
(export "can_sayhello" (func $assembly/index/can_sayhello))
使用这个 AssemblyScript
@external("can sayhello")
export declare function can_sayhello(): void;
我真正想做的是改变这个函数的标签
function sayhello() : void {
}
//output in wat
(export "sayhello" (func $assembly/index/sayhello))
成为
(export "can sayhello" (func $assembly/index/sayhello))
我是汇编脚本的新手,我真的想不通,如果您有任何问题,请告诉我。
任何语言的函数名都带有空格是很不寻常的,但这是可能的!
我写了一个简单的转换过程,允许你有任何字符串用于命名导出。
在这里https://github.com/willemneal/visitor-as/blob/master/src/examples/exportAs.ts
您需要添加 visitor-as
作为项目的依赖项,然后在您的 asconfig.json
或 cli 中添加 exportAs
转换器。
例如
@exportAs("can sayhello")
export function main(): u32 {
return 42;
}
然后像这样编译
asc assembly/index.ts --transform visitor-as/dist/examples/exportAs
我需要导出一个指向函数的标签,例如
(func $can_sayhello (export "can sayhello") (type $t3)
我能得到的最接近的是:
(export "can_sayhello" (func $assembly/index/can_sayhello))
使用这个 AssemblyScript
@external("can sayhello")
export declare function can_sayhello(): void;
我真正想做的是改变这个函数的标签
function sayhello() : void {
}
//output in wat
(export "sayhello" (func $assembly/index/sayhello))
成为
(export "can sayhello" (func $assembly/index/sayhello))
我是汇编脚本的新手,我真的想不通,如果您有任何问题,请告诉我。
任何语言的函数名都带有空格是很不寻常的,但这是可能的!
我写了一个简单的转换过程,允许你有任何字符串用于命名导出。
在这里https://github.com/willemneal/visitor-as/blob/master/src/examples/exportAs.ts
您需要添加 visitor-as
作为项目的依赖项,然后在您的 asconfig.json
或 cli 中添加 exportAs
转换器。
例如
@exportAs("can sayhello")
export function main(): u32 {
return 42;
}
然后像这样编译
asc assembly/index.ts --transform visitor-as/dist/examples/exportAs