我可以将 pragma `Inline` 放在正文而不是规范中吗?

Rod*_*deo 4 inline ada pragma gnat

Ada Information Clearinghouse声明如下

使用编译指示Inline确实有其缺点。它可以在主体上创建编译依赖项;也就是说,当规范使用 pragma 时Inline,在使用规范之前可能需要编译规范和相应的主体。

将 pragmaInline放入 body是否可以避免这个问题?

Zer*_*rte 5

优点是Inline在规范中允许跨单元内联,这可以是一个非常强大的运行时优化。

当您在速度较慢或内核很少的计算机上编译时,您提到的缺点很重要。然后是运行时间与编译时间的权衡。

请注意,在 GNAT 上,跨单元内联由单个开关 ( -gnatn)启用,因此不要害怕Inline创建编译依赖项的编译指示:您可以使用该开关打开或关闭整个机制。