Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29234 토론

Need to intercept ifort low level file I/O routines

JP_SECTOR7_COM
새로운 기여자 I
1,812 조회수

We have a "fortran to fortran" porting tool that handles 99.999% of syntax and semantic differences between compilers. 

We are currently converting a large VMS FORTRAN application to ifort.

We change OPEN calls that use RMS extensions to call an API which calls our Linux version of RMS and provides sequential, relative, indexed, block RMS file I/O (rab's fabs,xab's, nam's' etc, FOR$RAB)

For various reasons : formatted write with an implied do loop works but is a little messy.

Ideally, we would like to intercept the low level ifort file operations (for_open() etc) and use our own file I/O 

Is there a published API for low level for_ [open, read, write, close etc].

If no published API - can we get hold of the low level routines ?

Many thanks

 

0 포인트
1 솔루션
Steve_Lionel
명예로운 기여자 III
1,809 조회수

No and no. (And that's speaking as someone who implemented indexed files in VAX FORTRAN plus a lot of other VMS stuff.)

The closest you can come is USEROPEN, which lets you hook into opening a file. Nothing else is available to you, and the RTL's API is not documented.

원본 게시물의 솔루션 보기

0 포인트
3 응답
Steve_Lionel
명예로운 기여자 III
1,810 조회수

No and no. (And that's speaking as someone who implemented indexed files in VAX FORTRAN plus a lot of other VMS stuff.)

The closest you can come is USEROPEN, which lets you hook into opening a file. Nothing else is available to you, and the RTL's API is not documented.

0 포인트
JP_SECTOR7_COM
새로운 기여자 I
1,800 조회수

Hi Steve, it been a while, hope you are doing well.

Is "no and no" your final answer ? no need to "phone a friend" ?

Oh well, if it was easy then we wouldn't have any thing to sell !

Keep well.

/Jon (Sector7)

0 포인트
Steve_Lionel
명예로운 기여자 III
1,768 조회수

Yes, that's my final answer! I'm doing fine, thanks - I remember you and Sector7 well.

0 포인트
응답