FFI
এই ডকুমেন্টটি বিদেশী ফাংশন ইন্টারফেস (FFI) এর স্পেসিফিকেশনের মাধ্যমে ওয়েভ ভাষাতে বহিরাগত ফাংশন কিভাবে কল করতে হয় তা ব্যাখ্যা করে। FFI এর মাধ্যমে ওয়েভ প্রোগ্রামটি অন্য ভাষায় লেখা নেটিভ লাইব্রেরির সাথে সরাসরি সংযোগ স্থাপন করতে পারে।
সংক্ষিপ্ত বিবরণ
ওয়েভের FFI ঘোষণার ভিত্তিতে কাজ করে। বাহ্যিক ফাংশন ওয়েভ কোডে বাস্তবায়িত হয় না, এবং কোন ABI (অ্যাপ্লিকেশন বাইনারি ইন্টারফেস) অনুসরণ করে তা কেবলমাত্র নির্দিষ্ট করে। বাস্তব বাস্তবায়নটি লিঙ্ক স্তরে বহিরাগত লাইব্রেরি থেকে সমাধান করা হয়।
FFI কম্পাইল সময়ে শুধুমাত্র ফাংশনের অস্তিত্ব ঘোষণা করে, এবং এক্সিকিউটেবল ফাইল তৈরি করার সময় লিঙ্কারটি প্রকৃত প্রতীকে সংযুক্ত করা র পদ্ধতিতে কাজ করে।
বহিরাগত ঘোষণা
বাহ্যিক ফাংশনকে বহিরাগত কীওয়ার্ড ব্যবহার করে ঘোষণা করা হয়।
বর্তমানে Wave-এ ABI নির্ধারণ বাধ্যতামূলক এবং শুধুমাত্র extern(c) সমর্থিত।
extern(c) fun function_name(args...) -> return_type;
