ada

    0热度

    1回答

    可以知道某个常量的地址是否改变了它,或者Ada对此有所保护? 我目前正在研究一个大项目,我无法读取项目的所有代码。但我必须调试它的一部分。我有奇怪的麻烦。事实上,我已经改变了我的包中的 My_Var : constant Integer :=1;这个变量的声明(我们称之为My_Package) 然后在项目中完成一些东西(黑盒) 当我在最后执行该代码时, My_Package.My_Var<=0返回

    -1热度

    4回答

    我在函数内部声明了一个常量(一个包含字符串的大型结构常量),它仅在函数内部使用。 它会对我的程序有任何执行时间的影响吗? ' 每次调用函数时(需要更多时间)或者只有一次函数都会创建它们,并且参考将在整个生命周期中使用。 如果我在函数(全局)之外声明常量,执行速度会更快吗?

    -1热度

    2回答

    说明:我在Ada 95中制作的程序假设根据用户的输入输出一个税表,如下所示: 价格:无税|税收|价格与税收 如果用户输入价格:10,最新价格: 20,步骤: 0.5和税为整数。程序然后在停止之前以0.5的步长从10重复到20。 我面临的问题是“税收”和“含税价格”的输出值。我得到的结果是两列都是**** inf ****。我不知道这实际上意味着什么,我也找不到任何其他信息。所以我做了另一次尝试,得

    0热度

    1回答

    我试图编译一个简单的GTK应用程序,但是当我编译,生成不能归因于GTK源警报... 编译日志: Compile [Ada] main.adb gdk-display.ads:361:80: (style) this line is too long gdk-event.ads:290:80: (style) this line is too long … gprbuild:

    1热度

    2回答

    我试图编译这个Calculator.ada文件使用gcc -c Calculator.ada并收到错误warning: Calculator.ada: linker input file unused because linking not done - 我试过寻找解决方案并下载其他东西,可能编译这个但我还没有想通出来呢.... 这里是Calculator.ada: -- -- Integer

    1热度

    1回答

    在Ada中嵌套“然后中止”结构合法吗?如果是,我可以如何正确使用它们?我有这样的代码: with Ada.Text_IO; use Ada.Text_IO; procedure Main is task TestTask is end TestTask; task body TestTask is begin select de

    2热度

    1回答

    我使用的是Windows 10(64位),我从http://libre.adacore.com/download/configurations#下载了GNAT GPL 2017,ARM ELF格式(托管在Windows上)。 我创建了一个示例代码: with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin Put_Line

    1热度

    1回答

    我想创建和初始化以下方式控制的类型(有点像一个厂)创建一个函数: function Create return Controlled_Type is Foo : Controlled_Type; begin Put_Line ("Check 1") return Foo; end Create; procedure Main is Bar : C

    0热度

    1回答

    我正在使用GTKADA,为一个小应用程序,并希望右对齐菜单栏上的帮助菜单。 旧的方法是在新菜单上调用Set_Right_justified,但现在已过时。 可以看到,我应该可以使用Set_Hexpand和Set_Halign来做到这一点。 我目前使用的代码是: - with GTK.WIDGET; procedure Add_Menu_To_Menu_Bar (Menu_Bar : in G

    0热度

    2回答

    我是for ***'Address use ***的新用法。我想知道这种用法有什么限制。所以,我创建了以下程序: procedure letshack (A : System.Address) is My_String : String(1..100000); for My_String'Address use A; begin Put(My_Stri