【发布时间】:2019-11-30 00:42:17
【问题描述】:
我已经创建了 c dll,我想在 Visual Studio 2019 中从 FORTRAN f90 调用该 c dll。任何人都可以提供示例示例。
我已经尝试了下面的代码。代码构建成功,但是在运行时,我得到了一个错误,如图所示。
我的 Fortran 代码
include 'MathLibrary.h'
program fortran
implicit none
print *, 'Max_size' , max_size
end program fortran
我的 MathLibrary.h
#pragma once
#ifndef EXT_MYLIB
#ifdef DLL_BUILD
#define EXT_MYLIB __declspec(dllexport)
#else
#define EXT_MYLIB __declspec(dllimport)
#endif // DLL_BUILD
#endif // !EXT_MYLIB
extern "C" int EXT_MYLIB max_size;
我的 MathLibrary.cpp
#include "pch.h"
#include "MathLibrary.h"
int EXT_MYLIB max_size = 100;
【问题讨论】:
-
请阅读How to Ask 和minimal reproducible example。您必须显示有关 DLL 的详细信息,至少要显示要调用的 C 函数的签名以及您当前的工作以及遇到的问题和错误。网上有很多 Fortran-C 教程和这个站点上的很多问题,请参阅fortran-iso-c-binding 标记以了解其中的许多问题。你的问题目前太宽泛了。你甚至没有问任何实际问题。
-
感谢您的回答,我已经编辑了我的问题
-
当你上传图片时,网站告诉你不要将它用于代码和错误消息。请务必将错误消息以文本形式复制到您的问题中,以便遇到类似问题的其他人可以找到您的问题。
-
复制错误消息后,您还必须显示用于构建代码的 exact 命令或配置以及 exact 编译器用于 C 和 Fortran 的版本。你能构建和运行纯 C 程序吗?你能构建和运行纯 Fortran 程序吗?