gpt4 book ai didi

ada - 有没有办法指示 Ada 编译器选择代码块?

转载 作者:行者123 更新时间:2023-12-04 13:49:29 24 4
gpt4 key购买 nike

我想指示 Ada 编译器根据预定义的静态编译器指令(例如“DEBUG”或“RELEASE”)在两个不同的代码块之间进行选择。我想做这样的事情:

如果调试然后
< 编译此代码 >
万一;

如果释放然后
< 编译其他代码 >
万一;

C# 和其他语言为此提供了#define 指令。艾达有类似的东西提供吗?如果没有,这在 Ada 中是如何完成的?

最佳答案

好的 Ada 风格是完全按照您的方式编写,确保实体 DebugRelease是静态的。

一种方法是拥有一个包,例如 Compilation_Mode ,它有两种变体:

package Compilation_Mode is
Debug : constant Boolean := False;
Release : constant Boolean := True;
end Compilation_Mode;


package Compilation_Mode is
Debug : constant Boolean := True;
Release : constant Boolean := False;
end Compilation_Mode;

然后让您的构建系统选择适当的包。 (使用 gprbuild ,您可以在项目文件中使用 package Naming 来完成。)

关于ada - 有没有办法指示 Ada 编译器选择代码块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41804525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com