VC调用Fortran的DLL!!着急!!
fortran 源码如下:
! ggg.f90
!
! FUNCTIONS/SUBROUTINES exported from ggg.dll:
! ggg - subroutine
!
subroutine ggg(v1,v2,r)
implicit none
! Expose subroutine ggg to users of this DLL
!
!DEC$ ATTRIBUTES DLLEXPORT::ggg
! Variables
real v1,v2,r
r=sqrt(v1*v1+v2*v2)
! Body of ggg
end subroutine ggg
建立一个win32有hello world 输出:
源代码如下:
//
#include "stdafx.h"
extern "C" void ggg(float v1,float v2,float &r);
extern "C" _declspec(dllexport)
void _stdcall C_Callfor(float a,float b,float &c)
{
ggg(a,b,c);
}
int main(int argc, char* argv[])
{
float a,b,c;
a=3.0;
b=4.0;
C_Callfor(a,b,&c);
printf("Hello World!\n");
return 0;
}
此过程我已经将ggg.lib 和ggg.dll加载到当前工程!!
编译Vc不通过,如下:
--------------------Configuration: cpp - Win32 Debug--------------------
Compiling...
cpp.cpp
Linking...
Creating library Debug/cpp.lib and object Debug/cpp.exp
cpp.obj : error LNK2001: unresolved external symbol _ggg
Debug/cpp.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
cpp.exe - 2 error(s), 0 warning(s)
求求求!!
! ggg.f90
!
! FUNCTIONS/SUBROUTINES exported from ggg.dll:
! ggg - subroutine
!
subroutine ggg(v1,v2,r)
implicit none
! Expose subroutine ggg to users of this DLL
!
!DEC$ ATTRIBUTES DLLEXPORT::ggg
! Variables
real v1,v2,r
r=sqrt(v1*v1+v2*v2)
! Body of ggg
end subroutine ggg
建立一个win32有hello world 输出:
源代码如下:
//
#include "stdafx.h"
extern "C" void ggg(float v1,float v2,float &r);
extern "C" _declspec(dllexport)
void _stdcall C_Callfor(float a,float b,float &c)
{
ggg(a,b,c);
}
int main(int argc, char* argv[])
{
float a,b,c;
a=3.0;
b=4.0;
C_Callfor(a,b,&c);
printf("Hello World!\n");
return 0;
}
此过程我已经将ggg.lib 和ggg.dll加载到当前工程!!
编译Vc不通过,如下:
--------------------Configuration: cpp - Win32 Debug--------------------
Compiling...
cpp.cpp
Linking...
Creating library Debug/cpp.lib and object Debug/cpp.exp
cpp.obj : error LNK2001: unresolved external symbol _ggg
Debug/cpp.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
cpp.exe - 2 error(s), 0 warning(s)
求求求!!
...全文
相关推荐
VC6生成DLL和调用DLL的最简单例子 入门级
以下是对这个“VC6生成DLL和调用DLL的最简单例子”的详细解释。首先,我们要创建一个DLL项目。
VC中DLL的调用规则 VC中DLL的调用规则 VC中DLL的调用规则
本文将深入探讨DLL在VC中的工作原理、创建与调用的步骤以及需要注意的关键点。一、DLL的工作原理1. **延迟加载**:VC允许动态加载DLL,意味着程序运行时才加载DLL,而非在启动时。
vc调用labview DLL
VC 调用 LabVIEW 生成的 DLL本文将详细介绍如何使用 VC 调用 LabVIEW 生成的 DLL 文件,并提供了一个实践例程,演示如何使用 C 语言程序调用 LabVIEW 生成的 DLL
在VC中后台调用FORTRAN
### 在VC中后台调用FORTRAN的关键知识点#### 一、引言本文探讨了如何在Visual C++(简称VC++)环境下调用Fortran计算程序,并在此过程中实时展示计算进度的技术。
VC的DLL类导出后,用Delphi调用方法及源码
在VC的DLL中,通常会提供一个释放对象的接口,如`Release`或`Destroy`。6. **文档和源码**: 源码和说明文档对理解VC的DLL类如何导出以及Delphi如何调用至关重要。


