سؤال

على ما يبدو ، يوجد حد في عدد خطوط الاستمرار المسموح بها في مجمعي Fortran. لدي حالة مرضية مؤقتة (تم إجراؤها لأغراض الاختبار السريع) حيث يُطلب مني تهيئة مجموعة ضخمة دون فتح الملفات أو القيام بأي خداع ، فقط صفعة البيانات في الحرفية. الصفيف كبير جدا (360000 إدخالات).

كيف يمكنني تعيين حد المترجم على غير محدود ، أو ما هي الاستراتيجية البديلة التي يمكنني استخدامها لاستضافة تهيئة الصفيف هذه؟

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

المحلول

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

  • تعيين كل قيمة على سطر واحد
  • ضع القيم في ملف وقراءته :)
  • استدعاء وظيفة C لملء مجموعة Fortran الخاصة بك

نصائح أخرى

يمكنك تعيينها على دفعات باستخدام ضمني DO الحلقات ، حتى الحد المستمر الذي يفرضه المترجم الخاص بك:

REAL :: xarray(360000)

DATA (xarray(i) i=1,100) /1.0, 2.0, 3.0, 4.0, 5.0, 6.0, &
    7.0, 8.0, &
...
    98.0, 99.0, 100.0 /

 DATA (xarray(i) i=101,200) /101.0, 102.0, 103.0, 104.0, 105.0, 106.0, &
    107.0, 108.0, &
...
    198.0, 199.0, 200.0 /

لقد رأيت هذا في الكثير من كود فورتران العلمي.

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

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