什么是“libgnarl"? [英] What is "libgnarl"?

查看:14
本文介绍了什么是“libgnarl"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是libgnarl?我在不同的地方找到了对此的引用,比如在 gcc 源代码中或 gprbuild 的详细输出中.gprbuild 专门报告关于决定 libgnarl 是否是必要的,所以它显然是一个可选库,但实际的库是什么?我找不到任何关于它的文档.源代码包含一堆看起来像是属于标准库的包,但实际上不是(例如 Ada.Execution_Time.Timers),所以很明显我遗漏了一些东西.

What is libgnarl? I find references to this in various places, like within the gcc source or in the verbose output from gprbuild. gprbuild specifically reports about deciding if libgnarl is even necessary, so it's clearly an optional library, but what's is the actual library? I can't find any documentation on it. The sources contain a bunch of packages that look like they'd belong in the standard library, but aren't (like Ada.Execution_Time.Timers), so clearly I'm missing something.

推荐答案

你可以谷歌搜索例如ada gnarl"并找到一些相当详细的信息.

You can google for e.g. "ada gnarl" and find some fairly detailed info.

它是 RTS 中处理任务的部分,因此,从广义上讲,如果您的程序不使用任务,则不需要 libgnarl.

It’s the part of the RTS that handles tasking, so, broadly, if your program doesn’t use tasking it won’t need libgnarl.

历史上,它是作为纽约大学 GNAT 团队和佛罗里达州立大学 PART 团队的联合项目开发的:来自 的ACM数字图书馆在FSU报告,

Historically, it was developed as a joint project of the NYU GNAT team and Florida State University’s PART team: from an FSU report in the ACM Digital Library,

开发 GNARL 是佛罗里达州立大学 POSIX/Ada 实时 (PART) 项目与纽约大学 GNAT 开发团队的合作成果.PART 项目的目标是推进 Ada 语言绑定到 IEEE POSIX 标准的开发和标准化,IEEE POSIX 标准是操作系统服务的应用程序接口系列.PART 项目的一个核心问题是协调 Ada 任务模型与提议的标准 POSIX 线程服务 (Pthreads).

The development GNARL is a cooperative effort of the Florida State University POSIX/Ada Real-Time (PART) project with the NYU GNAT development team. The goal of the PART project is to advance the development and standardization of Ada language bindings to the IEEE POSIX standards, a family of application program interfaces for operating system services. A central concern of the PART project has been reconciliation of the Ada tasking model with the proposed standard POSIX thread services (Pthreads).

来自 AdaCore 的嵌入式 RTS(至少是 ARM 的)似乎没有保留这种区别:至少在一个方面,libgnarl.a 只包含 empty.o!但是,AdaCore 继续采用将学术 RTS 开发纳入其嵌入式 RTS 的方法,请参阅 s-bb.ads(bb => 裸板):

Embedded RTSs from AdaCore (at least the ARM ones) seem not to retain this distinction: in at least one, libgnarl.a contains only empty.o! However, AdaCore have continued the approach of incorporating academic RTS developments into their embedded RTSs, see s-bb.ads (bb => Bare Board):

--        Copyright (C) 1999-2002 Universidad Politecnica de Madrid         --
--             Copyright (C) 2003-2004 The European Space Agency            --
--                     Copyright (C) 2003-2018, AdaCore                     --

这篇关于什么是“libgnarl"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆