将C代码与Fortran module.function()相关联

时间:2016-02-26 12:51:40

标签: c fortran dynamic-linking

我必须在Solaris下构建一个C共享库(.so),以便将其用作Exelis IDL语言的DLM(动态可加载模块)。

此C库必须使用Fortran模块中包含的一些Fortran f90函数。

我可以编译C和Fortran代码(使用-fpic,-G,...)但是我从C调用fortran库时遇到问题。

在我的.so文件中,模块中包含的Fortran函数被命名 module.function的

例如: $ nm idl_spi.so [290] | ... | FUNC | GLOB | 0 | 15 spi_m_libscient.spi_scient_init_common _

在我的C代码中,我无法使用以下任何一种:

spi_scient_init_common _()

=>在库中找不到符号(未完成的名称)

spi_m_libscient.spi_scient_init_common _()

=>未知结构spi_m_libscient

有没有办法从C调用Fortran module_name.function_name()?

或者在编译module.function()时更改Fortran行为, 重命名例如objet文件中的module__function

我可以找到任何f90命令行选项

0 个答案:

没有答案