二选一:
1、代码里每个函数设定name mangling选项。要改代码
2、编译器的选项里统一设定name mangling选项
chatgpt推荐方法:
1、使用 Fortran 的 bind(C, name="...") 指定符号名,同时在 C++ 中使用 extern "C" 声明。
2、统一符号修饰规则:
修改 Fortran 编译器选项,如 -assume nounderscore 或 -fno-underscoring。
3、在 C++ 中通过条件编译适配不同平台。
【 在 rickyhang84 的大作中提到: 】
: 谢谢回复。
: 我试了一下,发现x86平台下所有Fortran的类名都带下划线前缀,而x64平台则没有。
: 我写的Fortran调用c++的interface里,把c++的函数名按照c的格式加了下划线前缀,是这个原因吗?应该怎么改?
: ...................
--
FROM 114.241.228.*