我有一个基本问题,即使在网上搜索了很多次,我也无法找到答案。
是否有可能通过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互操作性"功能,则效果最好。