Compaq Visual Fortran生成静态库的方法及使用

Compaq Visual Fortran 6.5生成lib静态库详细方法:

 

  1. 打开Compaq Visual Fortran,新建Fortran Static Library工程,命名为ForLib
  2. 往工程中添加文件Fortran Free Format Source File,命名自定;
  3. 文件内添加代码(示例):

SUBROUTINE FUNA (x [REFERENCE])

INTEGER*4 x

x = x + 1

END

 

INTEGER*2 FUNCTION FUNB (y [VALUE])

INTEGER*2 y

FUNB = y + 3

END

 

  1. 往工程中添加文件ForLib.def,用于显性析出接口函数,文件内容如下:

LIBRARY ForLib

EXPORTS

FUNA @ 1

FUNB @ 2

注:@符号之前为接口函数名,之后为函数序号。

 

  1. 保存所有文件,编译工程,生成ForLib.lib静态库文件。

 

 

使用时需注意:

  1. Fortran生成的接口函数名一律是大写;
  2. C++中使用时需要添加extern “C”;
  3. Windows中使用需要添加WINAPI宏;

 

使用示例如下:

extern "C" 

extern void WINAPI FSUB(long &x);

extern int WINAPI FFUNC(int y);

}

 

long x = 66;

FSUB(x);

int a = 5; 

int b = FFUNC(a);

 

注:执行后x=67, b=8;

原文地址:https://www.cnblogs.com/Roarsun/p/3632055.html