鹰击长空 发表于 2019-5-9 21:11 不需要,就像这样:(红色箭头是添加的lib文件,紫色是fortran工程) |
Ar.png (76.77 KB, 下载次数: 377)
vvt 发表于 2019-5-9 15:09 那需要添加依赖项吗 |
obj文件好像VS不认的。需要编译成 lib 文件。 不能简单的放入debug 文件夹,需要放入工程里。 |
本帖最后由 penultimate 于 2019-5-9 12:49 编辑 1. 在FORTRAN中加: !DEC$ ATTRIBUTES DLLEXPORT,STDCALL,DECORATE,ALIAS:'sub_mixedCpp' :: sub_mixedCpp 把Bind去掉 2. 在C++中声明: void __stdcall sub_mixedCpp (float& a, float& b, float& c); 3.链接属性里把lib加进去,确保exe能够找到FORTRAN的dll 做到以上3点,应该就可以了 |
本帖最后由 penultimate 于 2019-5-9 12:33 编辑 1. 在VS 中,Bind好像不管用,要用如下的格式导出FORTRAN的DLL: !DEC$ ATTRIBUTES DLLEXPORT,STDCALL,DECORATE,ALIAS:'C++中调用时的名称,大小写敏感' :: FORTRAN中的名称 2. 在C++中,要声明下: void(或FORTRAN中的FUNCTION的返回值类型)__stdcall FORTRAN的ALIAS属性中定义的名称 (float& a, float& b, float& c); |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-4-5 14:56