如果我强制 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,否则我不希望这样。否则,编译器必须假定您可以将过程作为实参传递。
如果我在模块过程的定义上面添加这个
!DIR$ ATTRIBUTES FORCEINLINE :: procedure
我可以通过检查过程是否出现在符号 table 中来确认内联是否完成,即
objdump -t my_program | grep procedure
我期待一个内联函数,符号不存在。
除非您使用 -ipo,否则我不希望这样。否则,编译器必须假定您可以将过程作为实参传递。