Ada Information Clearinghouse声明如下:
使用编译指示
Inline确实有其缺点。它可以在主体上创建编译依赖项;也就是说,当规范使用 pragma 时Inline,在使用规范之前可能需要编译规范和相应的主体。
将 pragmaInline放入 body是否可以避免这个问题?
您可以通过让函数返回一个值来分配给变量:
My_Int : Integer := My_Math_Func [(optional params)];
或者你可以用一个程序来做到这一点(假设My_Int已经声明了):
My_Math_Proc ([optional params;] [in] out My_Int);
显然,一个过程不能像第一个例子中的函数那样初始化一个变量,但我希望有一些具体的、实用的规则来说明何时以及为什么选择一个。