سؤال

أنا أكتب برنامج FORTRAN باستخدام PGI Visual Fortran. يتكون الرمز من وحدات اثنين طويلة إلى حد ما وبرنامج رئيسي. لا شيء يبدو خطأ بالنسبة لي والبرنامج تجميع وبناء النجاح مع عدم وجود تحذير أو أخطاء. ولكن في وقت التشغيل أو في وضع التصحيح يحدث خطأ:

giveacodicetagpre.

بعد هذا الخطأ تنفيذ توقف البرنامج. جربت كل طريقة يمكنني تخمين التغلب على هذه المشكلة. ومع ذلك، استمرت المشكلة. يبدو أن المتغيرات محددة بشكل صحيح. في وضع التصحيح، يبدو أن جميع المتغيرات على ما يرام. على الرغم من أن المتغيرات x، y و z سيتم تقييمها بشكل صحيح من خلال الوظائف الموجودة في الوحدات النمطية، فلا يمكن تقييمها في البرنامج الرئيسي مثل عروض التعليمات البرمجية التالية (تم الحصول عليها بواسطة نقطة توقف عند السطر 14 من البرنامج الرئيسي في الملف Mainser.f90 ):

giveacodicetagpre.

لا أستطيع أن أفهم مصدر الخطأ أو انتهاك الوصول. هل هذه مشكلة معروفة وأنا لست على دراية بها؟ أو أنها ليست علة؟ سأقدر أي مساعدة منك. شكرا لكم مقدما. يتم إرفاق الرموز في لغة FORTRAN على النحو التالي. mainser.f90:

giveacodicetagpre.

chainconfmodule.f90:

giveacodicetagpre.

rand.f90:

giveacodicetagpre.

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

المحلول

وجدت الإجابة. كانت المشكلة مع التعريف السابق لأوانه للمتغيرات X و Y و Z:

giveacodicetagpre.

بينما لا يتم تهيئة N and M، يعين هذا الإعلان المتغير حجم صفر لهذه المتغيرات التي تسبب الوصول إلى access_violation. شكرا على ردودك.

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