কীভাবে সমাধান করবেন: -বাশ:: বাইনারি ফাইল কার্যকর করতে পারে না


18

আমার কাছে বি 1 নামক একটি ফাইল রয়েছে যাতে সমাবেশ ভাষা রয়েছে। আমি ওএসএক্স ব্যবহার করে ফাইলটি কার্যকর করার চেষ্টা করছি

$ ./b1

আমি নিম্নলিখিত ত্রুটি পেয়েছি:

-bash: ./b1: cannot execute binary file

আমি অন্যান্য অনুরূপ প্রশ্ন তাকিয়েছি, কিন্তু কোন ফলস্বরূপ। আমি অবশ্যই একটি 64 বিট আর্কিটেকচার ব্যবহার করছি।

এখানে সম্পর্কিত তথ্য আউটপুট দেওয়া হয়:

$ file b1
b1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
$ uname -a
Darwin Anthonys-MacBook-Pro.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

সম্পাদনা:

দৌড়ে as b1যা দিয়ে সসীম শেষ পর্যন্ত: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/as: fatal error in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as

উত্তর:


25

দুঃখিত, এই ফাইলটি জিএনইউ / লিনাক্সের জন্য

আপনার fileআউটপুট অনুযায়ী , এই প্রোগ্রামটি জিএনইউ / লিনাক্সের জন্য। আমি এটি জানি কারণ:

  1. ফাইল b1রয়েছে ELF(এক্সটেনসেবল এবং লিঙ্কযুক্ত ফরম্যাট) যখন Mac OS X এর ব্যবহার করে, বিন্যাস Mach-Oবাইনেরিতে জন্য বিন্যাস;
  2. fileএই ফাইলটি স্বীকৃতি দেয় GNU/Linux 2.6.18যার অর্থ এটি বেশিরভাগ আধুনিক লিনাক্স বিতরণে কাজ করবে।

আপনার সমস্যা সমাধানের জন্য আপনাকে অবশ্যই লিনাক্স বিতরণে এই সমস্যাটি চালাতে হবে, প্রোগ্রামটি পুনরায় সংকলন করতে হবে বা এই প্রোগ্রামের ম্যাক ওএস এক্স সংস্করণটি পেতে হবে।

সুতরাং ... এক্সওয়াইজেড ওএস বা সিপিইউতে কেন b1কাজ করে না ?

মানুষ যেমন বিভিন্ন ভাষায় কথা বলে, তেমনি বিভিন্ন কম্পিউটারও বিভিন্ন নির্দেশাবলী বোঝে। উদাহরণস্বরূপ, আপনার ম্যাকটি একটি ইন্টেল প্রসেসর ব্যবহার করে, যখন আপনার অ্যান্ড্রয়েড ফোনটি একটি এআরএম প্রসেসর ব্যবহার করে। এই দুটি প্রসেসরের তুলনা করুন ইংরেজি এবং ফরাসি এর সাথে। তারা একই ভাষা পরিবারের অন্তর্ভুক্ত হতে পারে তবে তবুও আপনি উভয় একই সাথে বলতে পারবেন না। এটি একটি সিদ্ধান্তে নিয়ে যায়:

বিচিত্র কম্পিউটারগুলি বিভিন্ন ভাষায় "আলাপ" করে।

কেন বিভিন্ন অপারেটিং সিস্টেম (যেমন উইন্ডোজ, ম্যাক ওএস এক্স, এবং লিনাক্স) একই বাইনারি ব্যবহার করতে পারে না তা বিবেচনা করুন:

সফ্টওয়্যারটি হার্ডওয়্যারকে উদ্দেশ্যমূলকভাবে আলাদা করে তোলে? বেশি না.

উভয়ই একটি সিস্টেম এবং একটি "ভাষা" সরবরাহ করে যা কম্পিউটারের আরও জটিল উপাদানগুলিকে শেষ ব্যবহারকারীর জন্য কাজগুলি সম্পূর্ণ করতে দেয়। উভয়ই কাজ সম্পন্ন করার জন্য একটি সম্মত ভাষা প্রয়োজন। কল্পনা করুন যে চিৎকারের ম্যাচে যদি 10 জন লোক থাকে, প্রত্যেকে আলাদা আলাদা ভাষায় কথা বলে। এই কারণেই উভয় অপারেটিং সিস্টেম একই প্রসেসর ব্যবহার করে এমনকি বিভিন্ন ওএস সফ্টওয়্যারটির বিভিন্ন বাইনারিগুলির প্রয়োজন হয়।


হাই, ম্যাক ওএস ১০.৯-এ এলফ ফাইলটি সংকলনের চেষ্টা করতে আমার একই সমস্যা রয়েছে। আপনি কি দয়া করে আমাকে এই অনম্যাকটি কীভাবে চালাতে পারবেন
অলআইসওয়েল

অলস ওয়েল আপনি কি এর জন্য একটি উপায় খুঁজে পেয়েছেন !?
নিওকোরটেক্স

1

এসেম্বলি? আপনার এটি সংকলন করতে হবে, বা বরং এটি একত্রিত করতে হবে।

man as

2
প্রশ্নকারীর মনে হয় বিদ্রোহীদের ভাষা এবং মেশিন কোড রয়েছেfileপ্রশ্নের আউটপুট দেখুন ।
জেডিবিপি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.