Re: interface blocks
- From: "Lynn" <nospam@xxxxxxxxxx>
- Date: Sat, 27 Aug 2005 15:03:19 -0500
>>> If you want the most thorough checking, you put your procedures in
>>> modules. That doesn't have a very close C/C++ analogue. The closest I
>>> can come is that the Fortran compiler auto-generates an equivalent of a
>>> C header file, including function prototypes.
>>
>> Can I put all 3500 subroutines (and functions) into one module ?
>
> Sure. Except the resulting object code might cause indegestion for
> some compilers. At least one of the major vendors has (maybe it
> has been fixed but they have not publicized it if so!) a code
> relocation scheme suitable for folks who keep their subroutines
> below some huge size. The module looks like a single subroutine
> to them and suddenly huge is not very big any more. Their relocation
> dictionary overflowed at 32k entries or some such technical glitch.
OPen Watcom F77 says that we have 500,000 symbols since we have
to compile our code with global SAVE and ZERO turned on.
> You will have to watch the semantics of external functions.
> The old good practice of declaring external functions will be asking
> for things outside the module and will cause trouble. If you are
> passing subroutine names the same issue arises.
Uh, we do that extensively for the matrix manipulation subroutines.
Only about 100 places or so.
I already broke Intel Visual Fortran 8.x a couple of years ago when I
first tried to port to it. We have all 3500 subroutine in seperate files.
Broke the linker trying to link 3500 object files ! They fixed it though.
Lynn
.
- Follow-Ups:
- Re: interface blocks
- From: Gordon Sande
- Re: interface blocks
- References:
- Re: interface blocks
- From: Lynn
- Re: interface blocks
- From: Gordon Sande
- Re: interface blocks
- Prev by Date: Re: interface blocks
- Next by Date: Re: interface blocks
- Previous by thread: Re: interface blocks
- Next by thread: Re: interface blocks
- Index(es):
Relevant Pages
|