export
export Wave-ல் எழுதப்பட்ட function-ஐ வெளிப்புற linker symbol ஆக வெளியிடுகிறது. extern வெளிப்புற function-ஐ Wave-க்கு கொண்டு வந்தால், export Wave function-ஐ C, Rust, C++, Zig அல்லது வேறு native மொழியிலிருந்து object file மூலம் அழைக்க முடியும்.
மேலோட்டம்
Wave FFI இரண்டு திசைகளில் செயல்படுகிறது.
extern(c)வெளிப்புற library வழங்கும் function-ஐ அறிவித்து Wave code அதை அழைக்க அனுமதிக்கிறது.export(c)Wave function body-ஐ வெளிப்புற ABI symbol ஆக emit செய்கிறது.
இரண்டும் ஒரே ABI header வடிவத்தை பகிர்கின்றன, ஆனால் பொருள் எதிர்மாறானது. extern-இல் function body Wave-க்கு வெளியே இருக்கும். export-இல் function body Wave-க்குள் இருக்கும்.
தற்போது ஆதரிக்கப்படும் export ABI c மட்டும்.
Function நிலை export
அடிப்படை வடிவம்:
export(c) fun add(a: i32, b: i32) -> i32 {
return a + b;
}
இந்த code add என்ற public symbol-ஐ உருவாக்குகிறது. உருவான object file C ABI எதிர்பார்க்கும் வெளிப்புற code உடன் link செய்யலாம்.
