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

If I force ifort to inline a function, should I expect to still see it in an obj dump?

如果我在模块过程的定义上面添加这个

!DIR$ ATTRIBUTES FORCEINLINE :: procedure

我可以通过检查过程是否出现在符号 table 中来确认内联是否完成,即

objdump -t my_program | grep procedure

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

除非您使用 -ipo,否则我不希望这样。否则,编译器必须假定您可以将过程作为实参传递。