I have asked the question here, but in a slight different tone. Here's the follow up.I have the following fortran code:
subroutine chartest(maxncv,ldv) !DEC$ ATTRIBUTES DLLEXPORT::chartest !DEC$ ATTRIBUTES ALIAS:'chartest'::chartest !DEC$ ATTRIBUTES VALUE :: maxncv,ldv & integer, intent(in) :: maxncv, ldv Double precision & v(ldv,maxncv),d(maxncv,2) print *, 'hello' end
and the C# code.
public static extern void chartest( [MarshalAs(UnmanagedType.I4)] int maxncv, [MarshalAs(UnmanagedType.I4)] int ldv );
In order to handle large input parameters, I turn on the \\heap_arrays option as suggested, and input 100 (kb) in the heap array item. But no matter how many I input, if maxnvc and ldv is large enough, the program will still crash.Any idea how to solve this issue?I am using version 11.0.066.For your information, I'm doing this for a structural software and the structure can go up to millions and tens of millions of degree of freedom, which means that both maxncv and ldv must be big enough to accomodate them. I need a general solution here.