আমি কখনই পরিষ্কারভাবে বুঝতে পারি নি যে এবিআই কী। দয়া করে আমাকে উইকিপিডিয়া নিবন্ধে নির্দেশ করবেন না। আমি যদি এটি বুঝতে পারি তবে আমি এখানে এত দীর্ঘ পোস্ট দিচ্ছি না।
এটি বিভিন্ন ইন্টারফেস সম্পর্কে আমার মানসিকতা:
একটি টিভি রিমোট ব্যবহারকারী এবং টিভির মধ্যে একটি ইন্টারফেস। এটি একটি বিদ্যমান সত্তা, তবে অকার্যকর (কোনও কার্যকারিতা সরবরাহ করে না) নিজে থেকে। রিমোটে থাকা প্রতিটি বোতামের জন্য সমস্ত কার্যকারিতা টেলিভিশন সেটে প্রয়োগ করা হয়।
ইন্টারফেস: এটি
functionality
এবংconsumer
কার্যকারিতাটির মধ্যে এটি একটি "বিদ্যমান সত্তা" স্তর । একটি ইন্টারফেস নিজে থেকে কিছু করে না। এটি কেবল পিছনে পড়ে থাকা কার্যকারিতাটির জন্য প্রার্থনা করে।ব্যবহারকারী বর্তমানে বিভিন্ন ধরণের ইন্টারফেস রয়েছে তার উপর নির্ভর করে।
কমান্ড লাইন ইন্টারফেস (সিএলআই) কমান্ডগুলি বিদ্যমান সত্তা, ভোক্তা ব্যবহারকারী এবং কার্যকারিতা পিছনে থাকে।
functionality:
আমার সফ্টওয়্যার কার্যকারিতা যা কিছু উদ্দেশ্য সমাধান করে যা আমরা এই ইন্টারফেসটি বর্ণনা করছি।
existing entities:
কমান্ড
consumer:
ব্যবহারকারীগ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) উইন্ডো, বোতাম ইত্যাদি বিদ্যমান সত্তা এবং আবার গ্রাহকই ব্যবহারকারী এবং কার্যকারিতা পিছনে রয়েছে।
functionality:
আমার সফ্টওয়্যার কার্যকারিতা যা কিছু সমস্যা সমাধান করে যা আমরা এই ইন্টারফেসটি বর্ণনা করছি।
existing entities:
উইন্ডো, বোতাম ইত্যাদি
consumer:
ব্যবহারকারীঅ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (এপিআই) ফাংশন (বা আরও সঠিক হতে হবে) ইন্টারফেসগুলি (ইন্টারফেস ভিত্তিক প্রোগ্রামিংয়ে) বিদ্যমান সত্তা, এখানে ভোক্তা অন্য একটি প্রোগ্রাম যা ব্যবহারকারী নয়, এবং আবার কার্যকারিতা এই স্তরের পিছনে রয়েছে।
functionality:
আমার সফ্টওয়্যার কার্যকারিতা যা কিছু সমস্যা সমাধান করে যা আমরা এই ইন্টারফেসটি বর্ণনা করছি।
existing entities:
ফাংশন, ইন্টারফেস (ফাংশনের অ্যারে)
consumer:
অন্য প্রোগ্রাম / অ্যাপ্লিকেশন।অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (এবিআই) এখানেই আমার সমস্যা শুরু হয়।
functionality:
???
existing entities:
???
consumer:
???
- আমি বিভিন্ন ভাষায় সফ্টওয়্যার লিখেছি এবং বিভিন্ন ধরণের ইন্টারফেস (সিএলআই, জিইউআই, এবং এপিআই) সরবরাহ করেছি, তবে আমি নিশ্চিত নই যে আমি কখনও কোনও এবিআই সরবরাহ করেছি কিনা।
ABIs যেমন বিবরণ আবরণ
- তথ্য প্রকার, আকার এবং প্রান্তিককরণ;
- কলিং কনভেনশন, যা ফাংশনগুলির আর্গুমেন্টগুলি কীভাবে পাস হয় এবং মানগুলি পুনরুদ্ধার করে তা নিয়ন্ত্রণ করে;
- সিস্টেম কল নম্বর এবং কীভাবে কোনও অ্যাপ্লিকেশন অপারেটিং সিস্টেমে সিস্টেম কল করা উচিত;
অন্যান্য এবিআইআই যেমন বিশদ বিবরণীকরণ করে
- সি ++ নাম ম্যাংলিং,
- ব্যতিক্রম প্রচার এবং
- একই প্ল্যাটফর্মের সংকলকগুলির মধ্যে কলিং কনভেনশন, তবে ক্রস-প্ল্যাটফর্মের সামঞ্জস্যের প্রয়োজন হয় না।
কার এই বিশদ দরকার? দয়া করে ওএস না বলুন। আমি সমাবেশ প্রোগ্রামিং জানি। লিঙ্কিং ও লোডিং কীভাবে কাজ করে তা আমি জানি। আমি ভিতরে জানি কি ঠিক জানি।
সি ++ নাম ম্যাংলিং কেন এল? আমি ভেবেছিলাম আমরা বাইনারি স্তরে কথা বলছি। ভাষা কেন আসে?
যাইহোক, আমি [পিডিএফ] সিস্টেম ভি অ্যাপ্লিকেশন বাইনারি ইন্টারফেস সংস্করণ 4.1 (1997-03-18) ডাউনলোড করেছি এটিতে কী রয়েছে তা দেখতে। ভাল, এর বেশিরভাগই কোনও ধারণা রাখেনি।
ইএলএফ ফাইল ফর্ম্যাটটি বর্ণনা করতে কেন এটিতে দুটি অধ্যায় (চতুর্থ এবং 5 ম) রয়েছে ? আসলে, এই স্পেসিফিকেশনের কেবলমাত্র দুটি গুরুত্বপূর্ণ অধ্যায়। বাকি অধ্যায়গুলি "প্রসেসর নির্দিষ্ট"। যাইহোক, আমি যদিও এটি সম্পূর্ণ আলাদা বিষয়। দয়া করে বলুন না যে ELF ফাইল ফরম্যাট নির্দিষ্টকরণের হয় ABI- র। সংজ্ঞা অনুযায়ী এটি ইন্টারফেস হওয়ার যোগ্যতা অর্জন করে না ।
আমি জানি, যেহেতু আমরা এত নিচু স্তরে কথা বলছি এটি অবশ্যই খুব নির্দিষ্ট হওয়া উচিত। তবে আমি নিশ্চিত না যে কীভাবে এটি "নির্দেশিকা আর্কিটেকচার (আইএসএ)" সুনির্দিষ্ট?
আমি মাইক্রোসফ্ট উইন্ডোজ 'এবিআই কোথায় পেতে পারি?
সুতরাং, এগুলি আমার কাছে প্রধান সমস্যাগুলি g