سؤال

كهدية عيد الميلاد، كتبت برنامجا صغيرا في جافا لحساب الأعداد الأولية. كان نيتي أن أتركها طوال الليل، وحساب رئيس الوزراء التالي وكتابةه إلى ملف .txt. في الصباح، أقتل البرنامج وأخذ ملف .txt إلى صديقي لعيد الميلاد.

هل هناك أي شيء يجب أن أكون قلقا؟ ضع في اعتبارك أن هذا هو أمر مبتدئ حقيقي أنت تتحدث معها، وليس بعض الأخطاء الذكية فحص الرجل ASM.

تحرير أكثر تحديدا، نظرا لأنني سأغادر هذا البرنامج في جميع الأعداد الأولية عد من الليل، فهل هناك أي فرصة في كل ما سأواجهه نوعا ما من الخطأ المتعلق بالذاكرة؟ مثل، مداخن سحق أكوام أو الكلاب والقطط النوم معا؟

تحرير أكثر تحديدا، هل هناك خط من التعليمات البرمجية يمكنني وضعه لإيقاف طباعة الأسطر عند حجم الملف 4GB؟ مجرد أن تكون آمنة؟

تحرير: النجاح: بعد مغادرة ذلك طوال الليل، لم أحصل على أكثر من 13 كيلو بايت من الأعداد الأولية، وكان أعلى معدل حصلت على 22947217، وهو ما يشبه عشرات الآلاف من الأعداد الأولية. نجاح!

هل كانت مفيدة؟

المحلول

أكثر من المرجح أن تستخدم خوارزمية بطيئة. نظرا لأن الأعداد الأولية، فستتأخذ برنامجك لفترة أطول وأطول لحساب رئيس واحد. إذا سمحت بالتشغيل خلال الليل، فلن يكون الملف النصي كبيرا جدا في الصباح. سأكون معجبا إذا كان أكثر من اثنين من ميغس.

نصائح أخرى

أود أن أوصي بإرسال رسالة SMS لكل رئيس تحسب. يود صديقك ذلك أفضل بكثير من مجموعة من الورق. بالإضافة إلى أنه يمكن تحديثه في كثير من الأحيان.

هناك الكثير من الحدود، على الرغم من أن أيا منهم لا يوجد ملفات .txt:

  • لن يفتح Windows 9x Notepad ملف> 64 كيلو بايت.
  • لا يوجد حد لنظام التشغيل Windows NT / 2K / ETC أي حد، ولكن يميل إلى الاختناق وانغلاق ملفات متعددة ميغابايت. تحتاج أيضا إلى تذكر أن معظم محرري النصوص غبية ومحاولة قراءة الملف بأكمله في ذاكرة الوصول العشوائي.
  • يقتصر الكثير من البرامج على ملفات 2 جيجابايت أو 4GB اعتمادا على ما إذا كانوا يستخدمون INTS الموقعة أو غير الموقعة - كما هو مذكور بالفعل FAT32 مذنبا بهذا.

من الناحية الفنية، لا يوجد حد ما إلا أن نظام الملفات يضعك عليك. ومع ذلك، فإن المفكرة هو حقا غريب الأطوار حول فتح ملفات كبيرة غامضة.

قد تفكر في تتبع عدد البايتات التي تكتبها لكل ملف وتحول إلى واحدة جديدة بعد عدد قليل من البايتات. قد توفر أيضا عارض لملفاتك حتى يمكن لصديقك رؤية هديته بسهولة أكبر. :)

إذا كانت الذاكرة تخدم، فإن FAT32 يحتوي على حجم حد ملف 4GIG.

ziggy--

أنا أحب هذا: "ليس بعض الأخطاء الذكية فحص الرجل ASM". أنت تصف جميعا!

لديك الكثير من مساحة القرص والكتابة بعيدا! كما ذكر سابقا، تأكد من أن المحرر يستخدم لفتح ملفك يمكن فتح ملفات كبيرة جدا.

عطلات سعيدة، مبتدئ حقيقي ziggy.

فقط بالنسبة لحجم المكان الذي تقوم بتخزين الملف النصي على القرص.

وإذا لم تكتب كل شيء على الفور، ذاكرتك + ذاكرة افتراضية.

ماذا عن إنقاذ بعض دورات وحدة المعالجة المركزية وتنزيل حساب مسبق قائمة الأعداد الأوليةب أم أنها أكثر "الفكر الذي يهم"؟ :)

ماذا عن مجرد إنشاء ملف واحد لكل رقم رئيسي ثم استخدام اسم الملف لعرض الرقم؟

أشك بطريقة ما في أنه عند تشغيل البرنامج بين عشية وضحاها، فإن الملفات ستكون مشكلة، بالنظر إلى أنه سيستغرق وقتا طويلا للعثور على الأعداد الأولية حيث تصبح الأرقام أكبر. فقط تأكد من تنظيف أو قد تأكل كل ما تبذلونه من ذاكرة الوصول العشوائي.

للإجابة على سؤالك: من الناحية النظرية، يقوم نظام الملفات بتقييد حجم الملف. ومع ذلك، فإن الكثير من تحطم محرري النصوص (VIM) لا) عند تحميل الملفات الكبيرة (> 100 ميغابايت)، لأنها تحاول أن تناسبها في مخزن مؤقت واحد.

لتلخيصها، فكر في تقسيم ملفاتك إلى قطع الأضعف (محرري النصوص) يمكن التعامل معها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top