سؤال

حاولت تجميع برنامج FORTRAN لنموذج التربة-البوسفيري ، لكن لا يمكنني تجميعه تحت أوبونتو ، فهو يستمر في إعطائي رسالة الخطأ مثل هذا:

f77 -c -o o/cupin2.o  src/cupin2.f
src/cupin2.f: In subroutine `reflt':
src/cupin2.f:742: 
         dimension tairgl,eairgl,windgl,psisgl,hsoil,ecpy,hcpy
                         ^
Invalid form for DIMENSION statement at (^)
make: *** 
[o/cupin2.o] Error 1

يمكن لأي شخص أن يساعدني في ذلك. شكرًا. رمز المصدر الكامل هنا:مصدر الرمز

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

المحلول

يتم استخدام بيان البعد في صفائف الأبعاد - لذلك عليك تحديد أبعاد الصفيف. علي سبيل المثال:

dimension tairgl(100),eairgl(20,50), ...

لا تحتاج فعليًا إلى بيان الأبعاد ، ومع ذلك ، يمكنك أيضًا أن تقول شيئًا مثل:

real tairgl(100)
integer eairgl(20,50)

نصائح أخرى

لا تقل ما إذا كان هذا هو التحرير الخاص بك أو ما إذا كان شخص آخر قد كتب الرمز. تم وصف بيان البعد في:http://en.wikipedia.org/wiki/fortran_language_featuresعلي سبيل المثال:

INTEGER, DIMENSION(0:100, -50:50) :: map

يتوقع حدود صفيف بعد ذلك. إنه قديم إلى حد ما ويتم استبداله عادة بالنوع (على سبيل المثال ، حدود المصفوفة).

إذا كنت قد ورثت الرمز (وإذا كان لديه تاريخ طويل) ، فمن المحتمل أن يكون لديه بعض بناء الجملة الذي أصبح الآن غير قياسي ولكنه لا يزال يجمع على بعض الآلات. إذا كنت تقوم بتحرير الكود بنشاط ، فستحتاج إلى تعلم بعض Fortran.

تحديث من السؤال السابق ، يبدو أن OP قد حذفت حدود الصفيف من عبارة البعد الصحيح النحوي.

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