কেন পাঠকরা লিনাক্সের পরিবর্তে আমার সিস্টেম হিসাবে "সিস্টেম ভি" দেখায়?


10

আমি ELF ফাইলের ফর্ম্যাটটি বোঝার চেষ্টা করার জন্য একটি ছোট সি প্রোগ্রাম (কোডের 2 টি লাইন) সংকলন করেছি। readelf -hঅবজেক্ট ফাইলে একটি করা, আমার শিরোনামে রয়েছে:

OS/ABI:                            UNIX - System V 

আমি ফেডোরা ব্যবহার করছি, তবে কেন এটি লিনাক্সের পরিবর্তে নয়?

সম্পাদনা : আমি সংকলিত

int main(){
  int x = 0;
  x++;
}

সঙ্গে gcc -o main.o -c main.c। আমার জিসিসি সংস্করণটি

gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) 

দয়া করে আমাদের দেখান i) আপনি সংকলিত কোডটি ii) আউটপুট gcc --versionএবং iii) সঠিক সংকলন আপনি এটি সংকলন করতে ব্যবহার করেছেন।
টেরডন

আমি সেই অনুযায়ী প্রশ্নটি সম্পাদনা করেছি।
অ্যালেক্স_আপনার

আমি সবেমাত্র readelf -h /bin/lsডেবিয়ান জিএনও / লিনাক্স দিয়েছিলাম। এটাও দেখিয়েছে OS/ABI: UNIX - System V। আমার অনুমান যে এবিআই কেবলমাত্র লিনাক্স নয়, একাধিক কার্নেল ব্যবহার করা হয়। আমি আরও জানি যে লিনাক্স একাধিক এবিআই সমর্থন করে।
ctrl-alt-delor

6
উইকিপিডিয়া জানিয়েছে , লক্ষ্য প্ল্যাটফর্ম নির্বিশেষে এটি [ইএলএফ শিরোলেখের ওএসএবিআই ক্ষেত্র] প্রায়শই 0 টি [এসআইএসভি] তে সেট করা থাকে
স্টাফেন চ্যাজেলাস

1
এই ক্ষেত্রটি বলছে যে ELF ফাইলটি কোনও ওএস নির্দিষ্ট এক্সটেনশন ব্যবহার করছে কিনা, ডিফল্টটি 0 হয় More আরও বিশদ বিবরণ এখানে (EI_OSABI- এ)।
লিয়াজ 26'14

উত্তর:


8

বিভিন্ন প্ল্যাটফর্মগুলিতে ELF এক্সিকিউটেবলের মধ্যে কয়েকটি পার্থক্য রয়েছে। "ইউনিক্স - সিস্টেম ভি" সাধারণ ক্ষেত্র; সিস্টেম ভি , যেখানে ইএলএফ ফর্ম্যাট এসেছে। সংশ্লিষ্ট সাংখ্যিক মান 0 হয়। এই মানটি নির্দেশ করে যে এক্সিকিউটেবল কোনও ওএস-নির্দিষ্ট এক্সটেনশন ব্যবহার করে না। ডিবিয়ান জিএনইউ / লিনাক্স, কমপক্ষে, এই ক্ষেত্রটি ডিফল্টরূপে 0 তে নির্ধারণ করে এক্সিকিউটেবলগুলি তৈরি করতে জিসিসি / বিন্টিলগুলি কনফিগার করে।


3
এবং ইএলএফ স্ট্যান্ডার্ড বলছে 0 এর অর্থ হল "ELFOSABI_NONE 0 কোনও এক্সটেনশন বা অনির্দিষ্ট নয়" sco.com/developers/gabi/2003-12-17/ch4.eheader.html
Ciro Santilli 冠状 病毒 审查 六四 事件 事件 r
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.