Подпрограмма OpenVMS (VAX) FORTRAN может быть передана в character*(*)
:
subroutine forsub (in)
character*(*) in
type *, in
return
end
из функции C:
#include<stdio.h>
#include <descrip.h>
extern void forsub();
main()
{
auto $DESCRIPTOR(in_string, "VMS pass from c to fortran.");
forsub(&in_string);
}
Как работает функция OpenVMS (VAX) FORTRAN, которая возвращает character*(*)
:
character*(*) function forfunc (in)
character*(*) in
forfunc = in
return
end
обрабатывается в коде C:
#include<stdio.h>
#include <descrip.h>
extern ?????? forfunc();
main()
{
auto $DESCRIPTOR(in_string, "VMS fortran function return to c.");
??????? = forfunc(&in_string);
}
- ОпенВМС версии 6.2
- Цифровой Фортран 77 V6.5-188
- Декабрь C V6.0-001