Tag: ada

gcc,make:如何禁用警告失败?

我正在尝试使用AVR微控制器和avr-ada构建gcc,我遇到了一个障碍,因为我的常规编译器对AVR所需的版本过于挑剔。 我收到以下警告,这反过来导致gcc或make报告错误: gcc -c -g -O2 -gnatpg -gnata -nostdinc -I- -I. -Iada -I../../gcc/ada ../../gcc/ada/exp_ch5.adb -o ada/exp_ch5.o exp_ch5.adb:177:16: warning: function “Has_Address_Clause” is not referenced make[2]: *** [ada/exp_ch5.o] Error 1 make[1]: *** [all-gcc] Error 2 make: *** [all] Error 2 有没有办法指示gcc或使警告不失败?

在C-ADA绑定应用程序中传递字符串

如何将C函数中的字符串传递给ADA中的函数(C-ADA绑定)? 任何例子将不胜感激。

将结构从C传递到Ada

我需要在Ada绑定应用程序中将结构从C传递给Ada。 因此,我已经在Ada和C中声明了结构,因此两个源侧都可以破译结构组成。 在C中, typedef struct { int Status_Code; int Error_Code; } Edit_Result_Type; 在阿达, type Edit_Result_Rec_Type is record Status : Integer; Error_Code : Integer; end record; pragma Convention (Convention => C, Entity => Edit_Result_Rec_Type); for Edit_Result_Rec_Type use record Status at 0 range 0 .. 31; Error_Code at 0 range 32 .. 63; end record; type Edit_Result_Rec_Type_Ptr […]

Sparc函数编译对齐

我希望我的程序使得二进制文件中的每个函数在结束后都留有一些空间。 因此,稍后如果需要进行一些小的更改,则仅更改该function,并使用额外的空间作为计算较小变化的空间。 -falign-function可以完成这项工作但不会提供一致的空间。 无论如何要做到这一点? 还是更好的方法呢?

Ada中的AI库框架

我正在寻找一个Ada构建的AI框架。 我认为Ada由于其任务和实时机制而非常适合实现时间和随机范式,但没有找到任何试图建立这样的库的人。 实际上我也没有在其他语言上找到强大的实现。 对于C#,我找到了http://www.c-sharpcorner.com/1/56/ ,而对于C ++,我找到了http://mind.sourceforge.net/cpp.html,但两者都没有得到太多人气。 也许java也有很好的AI库,但我不知道。 那么,你知道Ada的实现吗? 对更多的人有用吗? 如果您了解其他语言的库,那么了解和比较java中的实现模型会很有用。 谢谢。

将从C例程分配的数组传递给ADA

将结构/记录数组从ADA传递到C例程是一回事。 在这种情况下,内存管理在ADA中完成。 但是当与第三方库连接时,通常存在内存管理在C部分中完成的问题。 例如:对于C结构: typedef struct _MYREC { int n; char *str; } MYREC; 以下C-routine分配Memory并返回一个指向带有n个元素的MYREC数组的指针: MYREC * allocMyrec(int n); 问题是返回的指针不包含ADA中内存安全计算所需的大小信息。 在ADA中我想对(MYREC *)指针使用相应的Array-Definition: type MYREC_Array is array (Int range ) of aliased MYREC; pragma Convention (C, MYREC_Array); 相应的(大小很大的)ADA-Function allocMyrec会是什么样子或者什么是正确的策略? 对于一个元素,可以映射C指针以access MYREC 。 这就是Gnat-Binding生成器的function。 但这没有用。 提示高度赞赏。

你能用C ++调用Ada函数吗?

我是一个完整的Ada新手,虽然我在HS期间使用Pascal 2 – 3年。 IIRC,可以从C / C ++调用Pascal编译函数。 是否可以从C ++调用Ada编写的过程和函数?

现代Ada转C / C ++翻译

从Ada(95,2005)到C,是否有任何源到源转换器(转换器)? 他们有多满(他们可以将Ada的每个function转换为gnu c99 + pthreads + POSIX)吗? 是否可以在关键应用程序中使用这种ada-to-c转换器? PS:也欢迎译者到C ++(最多2003年,扩展名为gnu)。 PPS:当说“gnu c99”时,它仅表示支持C99 +大多数gnu扩展,但不代表GCC。

使用JNA和Ada的Interface.C包将Ada动态库与Java接口

我必须写一个DLL应该提供一个简单的服务,需要: 在字符串或字节数组中(相当于char *) IN整数表示in char *的大小 IN等效于库中用于写入数据的char *缓冲区 用于写入的可用char *缓冲区的大小 将有效的写入大小输出到out char *缓冲区 使用C视角,签名应如下所示: void myService (char* inBuffer, // as in string int anInteger, // as in param char* outBuffer, // used as out buffer, but initalized by calling code int outBufferSize, // the initaliaed size int usedBufferSize // used as out param, the actually […]