fortran - 如果我强制 ifort 内联一个函数,我是否应该仍然在 obj 转储中看到它?

标签 fortran inline symbols intel-fortran

如果我将其添加到模块过程的定义之上

!DIR$ ATTRIBUTES FORCEINLINE :: procedure

我可以通过检查符号表中是否存在该过程来确认内联已完成,即

objdump -t my_program | grep procedure

我期待一个内联函数,该符号不存在。

最佳答案

除非您使用 -ipo,否则我不会想到这一点。否则,编译器必须假设您可以将过程作为实际参数传递。

关于fortran - 如果我强制 ifort 内联一个函数,我是否应该仍然在 obj 转储中看到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47610798/

相关文章:

gcc - gcc 链接器如何获取函数的大小?

c++ - 使用 2003 ISO C 绑定(bind)在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

matlab - 将 MATLAB 代码转换为 Fortran

html - 使用 inline 可以达到相同的结果吗?

c++ - 将函数定义直接放在头文件中以便编译器可以内联?

css - 如何将页脚推到内容下方并内联显示?

C++ - 为离线 VS2013 加载 Microsoft 符号

arrays - 带有数组的 Fortran 子例程

linux - 在不终止主程序的情况下中断 Fortran 中的命令行执行

ruby - 符号有什么用?