C语言 使用 IFORT 编译 Fortran 程序,并使用在 Visual Studio 中编译Microsoft目标



我有一个基本问题,即使在网上搜索了很多次,我也无法找到答案。

是否有可能通过IFORT编译一个Fortran程序,该程序使用(作为依赖项(由Visual Studio C编译的对象文件(即.lib Microsoft?

是的,这是可能的,甚至相当容易。对于如何执行此操作,您有多种选择:

  • 将 MSVC 库项目添加到 Fortran Visual Studio 解决方案,然后使用项目> 依赖项将 C 项目添加为 Fortran 项目的依赖项 *如果 C 项目创建 DLL,则不起作用(
  • 将 .lib 从 C 项目添加到 Fortran 项目,就好像它是源文件一样
  • 在"链接器>输入>其他依赖项"项目属性中命名 C .lib。

我通常推荐第一个选择,因为这意味着您不必为调试和发布项目的不同设置大惊小怪。您确实需要确保生成 C 库以指定与 Fortran 项目相同的运行时库类型(调试与非调试,DLL 与静态(。这位于 C 的"代码生成"属性页中。

在Intel Parallel Studio XE for Windows 示例捆绑包中有一个工作示例"Fortran Calls C"。

您还需要了解如何从 Fortran 调用 C 过程,并确保 C 参数具有兼容的 Fortran 类型。如果您利用Fortran标准的"C互操作性"功能,则效果最好。

最新更新