4GB .exe এর চেয়ে বড় কোন চালানো সম্ভব?


10

আমি কোনও সতর্কতা ছাড়াই একটি> 4 জিবি এসএফএক্স সংরক্ষণাগার (স্ব-এক্সট্র্যাক্টিং সংরক্ষণাগার) 7-জিপ-এ তৈরি করেছি। প্রাপক যখন এটিটি বের করার চেষ্টা করেছিলেন, তখন তিনি এই ত্রুটিটির ফিতাটি পেয়েছিলেন:

এখানে চিত্র বর্ণনা লিখুন

আমি এটি খুঁজে পেয়েছি কারণ এটি .exe4 জিবি থেকে বড় is 7-জিপ ইনস্টল করার পরে তিনি সংরক্ষণাগারটি বের করতে সক্ষম হয়েছিলেন তবে আমি ভাবছি যে উইন্ডোজ কেন এইরকম নির্বাহযোগ্য চালাতে পারে না? এবং কিছু ওভাররাইড মাধ্যমে এটি সম্ভব?


2
আপনি সাধারণত 32-বিট সিস্টেমে পারবেন না
রামহাউন্ড

1
রামহাউন্ড যা বলেছে তার প্রসারিত করার জন্য, 7-জিপ স্ব-এক্সট্র্যাক্টর নিজেই র‌্যামে সঞ্চয় করে যা 32-বিট সিস্টেমে সর্বাধিক 4 গিগাবাইটের অ্যাক্সেস আকার ধারণ করে। এটিও ব্যাখ্যা করবে যে 7-জিপ কেন নিষ্কাশন করতে সক্ষম হয়েছিল, কারণ সংরক্ষণাগারটিকে মেমরিতে পুরোপুরি সঞ্চিত করার প্রয়োজন হয়নি (যদিও এটি সংরক্ষণাগারটি শক্ত ছিল বা অন্য সংকোচনের সেটিংস ছিল কিনা তার উপর নির্ভর করবে)।
ডক্টোরো রিচার্ড

হ্যাঁ, আমি ভেবেছিলাম প্রথমে সমস্যাটি ছিল তবে তিনি Win64 ব্যবহার করছেন 16 জিবি র‌্যাম দিয়ে। আমি এটি 8 জিবি দিয়েও ব্যবহার করছি।
লুই ওয়াওয়ারু

উত্তর:


10

উইন্ডোজ এই থ্রেড অনুযায়ী 4GB এর বেশি আকারের এক্সিকিউটেবলগুলিকে সমর্থন করবে না:

http://sourceforge.net/p/sevenzip/discussion/45798/thread/337fc13e/

মন্তব্যকারী "ইগর পাভলভ" হলেন 7-জিপের স্রষ্টা এবং রক্ষণাবেক্ষণকারী। যদিও মন্তব্যটি কিছুটা কর্ট, সোর্সফোর্ব ফোরামে অন্য থ্রেড রয়েছে যা একই পরামর্শ পুনরাবৃত্তি করে। আমি বিশ্বাস করি না যে 64৪-বিট ওএসে এক্সিকিউটেবল চালানো কোনও তাত্পর্য ফেলবে কারণ এটি উইন্ডোজ এক্সিকিউটেবল ফাইলের আকারের সীমাবদ্ধতা হতে পারে, যেমন উইন্ডোজ পিই ফর্ম্যাটের নিজেই একটি সীমাবদ্ধতা ।

64৪-বিট প্রোগ্রাম লেখার উপর এই নিবন্ধটি পরামর্শ দেয় যে:

উইন 64 ফাইলের এক্সিকিউটেবল "ইমেজ" (মেমোরিতে লোড করা কোড / ডেটা) আকার 2 জিবি সীমাবদ্ধ। এটি এএমডি /৪ / ইএম T৪ টি প্রসেসরগুলি বেশিরভাগ নির্দেশাবলীর জন্য আপেক্ষিক ঠিকানা ব্যবহার করে এবং আপেক্ষিক ঠিকানাটি একটি শব্দে রাখা হয়। একটি শব্দটি কেবলমাত্র 2 গিগাবাইটের আপেক্ষিক মান ধরে রাখতে সক্ষম।

সম্ভবত ইগর 4 জিবি অর্জনের জন্য 2 জিবি ব্যবহার করার একটি উপায় নিয়ে এসেছে।


1
একটি স্বাক্ষরিত শব্দটির পরিসীমা 2,147,483,647 রয়েছে। একটি স্বাক্ষরবিহীন শব্দটির পরিসীমা 4,294,967,295 রয়েছে এবং এই সংখ্যাটি উইন্ডোজ এবং এর বাইরের 32-বিট সিস্টেমে সর্বাধিক সীমাবদ্ধতার উত্স।
হাশিম

@ হাশিম একেবারে সঠিক, সীমা আছে 4GiB - 1B = 2^32 - 1 bytes = 4,294,967,295 bytes। আমি উইন্ডোজ 10 -৪-বিটে উইনআরআর-এর সাথে এক্স-ফাইল আকারে স্ব-উত্তোলন সংরক্ষণাগারগুলি তৈরি করে এটি যাচাই করতে সক্ষম হয়েছি। আকারে একটি এক্সিকিউটেবল 4GiBপ্রবর্তন করবে না, তবে এটি দুর্দান্ত 4GiB - 1Bকাজ করে।
রবিন হার্টম্যান

0

4 গিগাবাইটের চেয়ে বড় এক্সট্রাক্টিং এক্সিকিউটেবল থাকা চূড়ান্ত পক্ষে, যেহেতু উইন্ডোজ এক্সিকিউটেবল ফাইলগুলিতে * .exe, * .dll ইত্যাদি যেমন পিই 32 এবং একটি 64-বিট সংস্করণ পিই 32 + (32-বিট এবং 64-র ক্ষেত্রে প্রযোজ্য) on -বিট সংস্করণ)।

দ্বিতীয়ত, এক্সিকিউটেবল ফাইলটি কার্যকর হওয়ার আগে সম্পূর্ণ র‍্যামে লোড হয়ে যায় এবং আপনি উইন্ডোজ দ্বারা সীমাবদ্ধ না থাকলেও (তবে আপনি), আপনি সহজেই হার্ডওয়্যার দ্বারা সীমাবদ্ধ হতে পারেন, যা এই ক্ষেত্রে র্যামের শারীরিক পরিমাণ is


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