From: rih5342 on
This might be off topic.

How do you create an executable greater than 2 Gb?

I added the /3GB switch to my XP boot.ini

I dynamically allocate my array like this

(representative code fragment)

REAL*8, ALLOCATABLE :: A(:,:)
integer isiz
isiz = 16000
IF (.NOT. ALLOCATED(A)) ALLOCATE (ISIZ,ISIZ), STAT = ISTAT)
write(*,*) istat

It compiles and runs fine for
isiz = 15700 producing istat=0

however,for isiz = 16000, istat = 41

TIA, any suggestions?







--
Message posted using http://www.talkaboutprogramming.com/group/comp.lang.fortran/
More information at http://www.talkaboutprogramming.com/faq.html

From: Steve Lionel on
On Jan 25, 4:02 pm, "rih5342" <rob.hic...(a)nospam.alum.mit.edu> wrote:
> This might be off topic.
>
> How do you create an executable greater than 2 Gb?
>
> I added the /3GB switch to my XP boot.ini

Did you also add the linker switch /LARGEADDRESSAWARE?

Steve
From: rih5342 on
Yes.

A cut and paste from:
MS-Dev-Environment/project/BIG properties/linker/command-line

/OUT:"Release/BIG.exe" /VERBOSE /INCREMENTAL:NO /NOLOGO /SUBSYSTEM:CONSOLE
/LARGEADDRESSAWARE

Some more info:

The actual error:
forrtl: severe (157): Program Exception - access violation

I also tried these in the boot.ini:
/3GB /4GT /PAE

BTW, this is a remotely administered
corporate machine so who knows
how it's tuned.

Thnaks.






--
Message posted using http://www.talkaboutprogramming.com/group/comp.lang.fortran/
More information at http://www.talkaboutprogramming.com/faq.html

From: webmaster on
On Jan 25, 6:04 pm, "rih5342" <rob.hic...(a)nospam.alum.mit.edu> wrote:

> The actual error:
> forrtl: severe (157): Program Exception - access violation

Well, that's quite different from "error 41". Which is it really?
When you get the access violation, what line of code is it on? (Use /
traceback).

Can you do a call to VirtualAlloc with the requested size and get the
memory?

Steve
From: Steve Lionel on
Yes, that was really me - signed into wrong account. Urgh.

Steve