Разница между Invoke и DynamicInvoke

Это действительно должно быть сохранено в файле .mod. Все типы данных и прототипы функций хранятся там, поэтому вам нужно включить его, когда вы отправляете кому-то файл .lib.

По сути, файл .mod выполняет ту же задачу, что и файл .h в c, поэтому, конечно, вы будете иметь чтобы включить его в вашу библиотеку.

[update:] Если вы пытаетесь использовать это в C, то, как вы сказали, нет средств для упрощения сохранения именованной константы. В качестве альтернативы вы можете использовать защищенный атрибут для объекта. По крайней мере, с Fortran, все, что находится вне модуля, ограничено записью в переменную. Я не знаю, будет ли компилятор C и компоновщик уважать это поведение, но я думаю, что это, вероятно, ваш лучший снимок.

module testMOD
 INTEGER, PROTECTED, BIND(C)  :: globalvar = 1
end module testMOD

К сожалению, я не очень много разбираюсь в интероперабельности с C, поэтому я не могу гарантировать, что C будет уважать защищенный атрибут и не позволять изменять переменную.

123
задан John Saunders 27 February 2015 в 05:07
поделиться