li913 发表于 2021-11-17 10:42 好的嘞,只是一百多个文件全都是需要导出的,待我有时间了可以琢磨一下,谢谢您 |
ptxyzs2 发表于 2021-11-17 09:53 理论上仅需要对导出函数的文件做处理。其他文件,如果没有导出函数,我觉得不需要修改。你试试吧。 |
fcode 发表于 2021-11-9 08:54 谢谢您的建议与提醒!!因为代码比较长因此没有直接提供源代码,下次一定注意! 查询得知iso_c_binding是2003版的语言,源代码为77版,写法差异较大,请问这种版本上的混合对于fortran语言的编写是否可行呢? |
li913 发表于 2021-11-9 18:04 谢谢您!!把您发的视频仔细看了一遍,成功使用c语言调用了fortran语言。但是想要运用fortran语言调用c语言时,可以生成dll文件无法生成有效的lib文件,查询发现是因为缺少extern "C" _declspec(dllexport)语句,由于代码的数量太大,对每个代码都进行修改不太现实,不知道是否有更简便的方法呢? |
necrohan 发表于 2021-11-9 08:20 把大家的方法都试了一遍,时隔一个星期再来回复,发现最直接的方法确实是您这种,将c编译的obj文件直接添加到fortran source文件夹下就可以直接编译了,感谢您!! |
建议用 iso_c_binding 来混编。不要写 !ms$Attributes , alias 这种语句。 另外,发帖时对代码,最好是复制粘贴,而不是截图。(其他人能复制粘贴,帮你测试) |
本帖最后由 necrohan 于 2021-11-9 08:22 编辑 ptxyzs2 发表于 2021-11-8 10:15 是,看看链接库有没有引用,是不是和平台对应的版本 有时候是c编译的obj文件直接插入fortran的project |
necrohan 发表于 2021-11-8 08:53 对的,确实是没有找到。库没有找到是指没有链接合适的lib文件吗? |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-11-23 07:11