首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Ada(GNAT)的编译时指定不同的平台特定包

在Ada(GNAT)的编译时指定不同的平台特定包,可以使用GNAT编译器的-gnatep选项。这个选项允许你在编译时指定一个平台特定的包,以便在编译过程中使用这个包中的代码。

例如,如果你想在编译时指定一个名为Platform_Specific的平台特定包,你可以使用以下命令:

代码语言:txt
复制
gnat make -gnatep=Platform_Specific your_ada_program.adb

在这个命令中,-gnatep选项后面跟着平台特定包的名称,your_ada_program.adb是你要编译的Ada程序的文件名。

在编写Ada程序时,你可以使用pragma Import来导入平台特定包中的子程序或函数。例如:

代码语言:txt
复制
pragma Import (Platform_Specific, "your_function", Your_Function);

在这个例子中,Platform_Specific是平台特定包的名称,your_function是在平台特定包中定义的子程序或函数的名称,Your_Function是在Ada程序中使用的名称。

需要注意的是,在使用-gnatep选项时,你需要确保指定的平台特定包存在并且包含你需要的代码。如果指定的包不存在或者不包含你需要的代码,编译将会失败。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用 Rust 拯救 60 岁老程序员:用 Ada 写了几十年的飞机程序,现在终于可以改用 Rust 了

从 Ada 到 Rust AdaCore 综合计算各类操作系统和硬件之间的组合,AdaCore 现可支持 50 多种不同平台。...Aiello 还补充道,Rust 的类型强度高于 C 甚至 C++。与 Rust 一样,Ada 也是一种静态类型语言,就是说会在编译时(而非运行时)检查数据类型,从而防止错误的发生。...GNAT Pro 是 AdaCore 打造的开发平台,其中包含编译器、链接器、调试器和语言运行时。...该公司表示,GNAT Pro for Rust 25 计划于明年 10 月正式推出,届时将提供与 gprbuild 的全面集成,同时带来先进的 Ada-Rust 双向绑定以支持更多平台。...当我们将 Rust 移植到新平台时,也会全面推动支持包的上游化,保证移植成果能够反哺开源社区。” 对比 Rust,Ada 无疑可以算作一种“上古”编程语言。

61020

【FFmpeg】编译不同平台的 FFmpeg 源码 ( 本地编译 与 交叉编译 | FFmpeg 指定目标平台的编译配置参数 | 配置目标 CPU 架构 | 配置目标操作系统 )

本地开发环境中导入并使用 , 无法在其它系统中使用 ; " 本地编译 " 不涉及 跨平台编译 或 跨体系结构编译 , 因此 不需要考虑目标系统的差异 ; 跨平台 指的是 不同的操作系统平台 , 如..." 是 在 本地系统 上 编译生成 适用于 另外一种 不同体系结构或操作系统 的 可执行文件 和 函数库 ; 交叉编译 使用场景 : 嵌入式系统 移动开发 跨平台开发 " 交叉编译 " 需要考虑 不同平台之间的差异...和 A 系统 编译 C 系统的函数库 , 三者所用的 编译器 是不同的 ; 头文件 : 特定交叉编译工具链 自带的 目标系统的 头文件 ; 依赖库 : 特定交叉编译工具链 自带的 目标系统的 依赖库文件...交叉编译需要的工具 在 Ubuntu 中进行 Android 平台的 C/C++ 函数库的交叉编译时 , 使用的工具如下 : 交叉编译工具链 : android-ndk-r17c/toolchains/..., 编译器在编译时会忽略警告信心 ; 二、FFmpeg 指定目标平台的编译配置参数 1、FFmpeg 交叉编译配置回顾 这是在 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载

1.4K00
  • Linux 编译安装 GCC 4.9

    详情及变更请参照: Linux 编译安装 GCC 4.9 GCC4.9发布啦,本脚本在之前4.8的基础上做了稍许改进,更新 PS:4.9.0 开始支持C++1y特性 GCC 4.9 的大致变更如下,...增加date-time警告 GNAT切换到Ada2012 C/C++ 增加编译信息带颜色输出(-fdiagnostics-color=auto) 单指令多数据(SIMD)指令的无循环依赖断言 支持...、多态lambda表达式 支持正则表达式、部分C++14实验性内容 Fortran更新的内容我就无情地忽略啦 Go语言1.2.1版本的接口 还有一系列针对特定编译目标架构的优化 编译安装...GCC 4.9.X 准备环境及依赖项 支持 ISO C++ 98 的编译器(GCC 4.7.2 的中期一个patch导致的整个项目开始转为由C++编译) C标准库及头文件 用于创建Ada编译器的GNAT...2.7.8 [按需] gdb 7.7.1 (如果存在ncurses-devel包) 注: (所有的库都会被安装在$PREFEX_DIR里) 额外建议: 给特定用户安装 gdb的pretty-printer

    7.7K10

    你用.NET开发APP时,在云平台打包APP要填个“包名”的含义

    ios 在ios平台,包名有它专有的名词:bundle ID.bundle ID可以翻译成包ID,也可以叫APP ID或者应用ID,他是每一个ios应用的全球唯一标识,只要bundle id不变,无论代码怎么改...Explicit App ID(明确的APP ID),一般格式是:com.smobiler.app。这种id只能用在一个app上。每一个新应用都要创建一个,云平台需要的就是此类型的包名. 2....android       在android平台, 包名称为applicationId,每个Android应用程序都有唯一一个类似Java包名的Application ID,比如com.smobielr...如果您改变了新版本应用程序的Application ID,那么Goolge应用商店会认为这是个完全不同的应用程序....总结 在云平台设置包名时,需按照ios和android标准,错误的格式和内容会导致打包失败或者无法在两个平台使用,请参考本文内容合理设置包名.

    97700

    你用.NET开发APP时,在云平台打包APP要填个“包名”的含义

    ios 在ios平台,包名有它专有的名词:bundle ID.bundle ID可以翻译成包ID,也可以叫APP ID或者应用ID,他是每一个ios应用的全球唯一标识,只要bundle id不变,无论代码怎么改...android       在android平台, 包名称为applicationId,每个Android应用程序都有唯一一个类似Java包名的Application ID,比如com.smobielr...如果您改变了新版本应用程序的Application ID,那么Goolge应用商店会认为这是个完全不同的应用程序....参考链接:https://developer.android.com/studio/build/application-id.html#change_the_package_name 总结 在云平台设置包名时...,需按照ios和android标准,错误的格式和内容会导致打包失败或者无法在两个平台使用,请参考本文内容合理设置包名.

    66820

    在制作跨平台的 NuGet 工具包时,如何将工具(exedll)的所有依赖一并放入包中

    在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中 2018-07-03 13:30 NuGet 提供了工具类型的包支持...但是,默认情况下,NuGet 不会将这些工具的依赖一起打包进入 NuGet 包 nupkg 文件内,这就使得功能比较复杂的跨平台 NuGet 工具包几乎是无法正常工作的。...---- 问题 你可能是在 创建一个基于命令行工具的跨平台 NuGet 工具包 的时候遇到依赖问题的,也可能是自己做到另外什么工具遇到的。...关于阅读 Microsoft.NET.Sdk 源码的方式,可以参考 解读 Microsoft.NET.Sdk 的源码,你能定制各种奇怪而富有创意的编译过程 和 Reading the Source Code...NuGet 打包的核心在 NuGet.Build.Tasks.Pack.targets 文件,主要是这段代码(省略了大量内容,留下了看起来有点儿关系的部分): <!

    2.8K30

    Linux 编译安装 GCC 4.8

    Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源码包 PS:...patch导致的整个项目开始转为由C++编译) 用于创建Ada编译器的GNAT 支持POSIX的shell或GNU bash POSIX或SVR4的 awk工具 GNU binutils gzip...gdb的pretty-printer 用以友好打印stdc++的stl容器 在执行 install.sh 脚本前安装 ncurses-devel 和 python-devel, 用于编译gdb和开启python...gdb History: 2013-03-26 Created 2013-04-11 改进脚本,增加统一编译选项,增加对binutils和gdb可选包的编译,增加自动把PREFIX_DIR...,显式开启gold等一些选项,显式开启链接时优化选项 2014-05-23 更新gcc到4.8.3,更新gdb到7.7.1,完全移除对ppl的依赖,同步gcc4.9编译脚本中修复的一些问题,增加编译选项等

    7K20

    TT扩展件microPython实现.2

    选项 说明 -shared 产生共享对象 -static 使用静态链接,默认是动态链接 -e xx 指定xx 为程序的入口函数 -fpic 产生地址无关代码,较小且较快,但某些平台会有限制符号数量和代码长度...在开发一个项目时,使用了非常多的第三方.a静态库文件,导致编译出的可执行文件非常大。...https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html 大致说明如下: 在编译C、Ada源文件(C++也可以),在gcc/g+...+编译选项中增加-ffunction-sections、-fdata-sections,在编译生成的.o目标文件中,会将每个函数或数据段,放在各种单独独立的section中; 在链接生成最终可执行文件时...通过给包分组,这些包可以被循环搜索直到所有的引用都可以解决为止。使用该选项将降低性能。只有在无法避免多个包之间互相引用的情况下才使用。用法示例: cmd_vmlinux__ ?

    1.2K30

    Linux编译安装GCC 4.7

    Linux编译安装GCC 4.7 详见: Linux编译安装GCC 4.7 准备环境及依赖项 支持 ISO C90 的编译器 用于创建Ada编译器的GNAT 支持POSIX的shell或GNU bash...POSIX或SVR4的 awk工具 GNU binutils gzip 版本1.2.4及以上 (可由GNU镜像列表 http://www.gnu.org/prep/ftp.html 或自动选择最佳镜像...isl 版本 0.10 (可由GNU镜像列表 http://www.gnu.org/prep/ftp.html 或自动选择最佳镜像 http://ftpmirror.gnu.org 中gcc目录中的infrastructure...目录下载 ) cloog-ppl 版本0.15 或cloog 版本0.16(注意不能使用更高版本) (此处可下载 http://cloog.org/ ) 我编译的环境 系统: CentOS 6.2...0.8.2 or mpc 0.9 + ppl 1.12 or ppl 1.12.1 + isl 0.10 + cloog 0.16.1 or cloog 0.16.2 注: 使用该脚本前保证脚本依赖的源码包文件处于当前目录下

    6.8K10

    未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“***Form.resources”正确嵌入或链接到程序集“***”。。。

    如图所示错误:未能找到任何适合于指定的区域性或非特定区域性的资源。...请确保在编译时已将“MonitoringSystem.MainForm.resources”正确嵌入或链接到程序集“MonitoringSystem”,或者确保所有需要的附属程序集都可加载并已进行了完全签名...排除后,文件夹会隐藏,在解决方案管理器的上面点击“显示所有文件”小按钮,就可以看到排除后的文件夹是白色的,而正常的文件夹颜色是yellow,如下图, ?...如果不行: 检查出错的窗体代码,看一下是否在定义该窗体的类之前定义了别的类,这样也是错误的。...最后没解决,发现是因为自己在窗体的类定义代码前public partial class MainForm :Form又定义了一个全局变量类public class PublicValue,因此出错。

    4.2K20

    Oracle 数据库编程语言 PLSQL 的历史

    我自己在面试时,有时也会问一些与现有岗位不同的东西,说不定就发现了面试者更大的世界。 Peter 不是一般人眼中典型的 Oracle 开发人员。...与其他编程语言的编译器通常会生成抽象的语法树然后将其转换为中间语言不同,这种方法对于类似 Ada 的编程语言更为有效。...当时,每个预编译器都使用一个手写的解析器,这使得很难跟踪每个编程语言所支持的功能。又或者可以通过使用解析器生成器,开发人员可以更轻松地指定宿主编程语言的语法并生成用于对其进行解析的代码。...当词法分析器识别出 island grammar 时,就会切换状态并必须加入特定符号,以便 YACC 可以选择适当的 island grammar 语法规则(而不是宿主语言规则)。...在软件中解释每个字节码指令的开销很大,一个简单的计算可能都需要数十条指令,而执行所花费的大部分时间都花在了那笔开销上。 在 Ada 中,情况更糟,因为操作算子可以引用在多个作用域和多个包中的变量。

    1.6K20

    收集3:所有文件格式

    AD After Dark屏幕保护程序 ADA Ada源文件(非-GNAT) ADB Ada源文件主体(GNAT);HP100LX组织者的约定数据库 ADD OS/2用于引导过程的适配器驱动程序...;Astound Dynamite文件 ADR After Dark随机屏幕保护;Smart Address的地址簿 ADS Ada源文件说明书(GNAT) AFM Adobe的字体尺度 AF2...script图像 EPSF 压缩的Postscript文件 ERI ERWin文件 ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件...,并在需要时重建起来 FTS 全文本搜索引文件,由Windows帮助系统查找时产生 FW2 Framework Ⅱ文件 FW3 Framework Ⅲ文件 FW4 时在AOL里附件而创建的文件;在一个多区MIM文件里的文件能用WinZip或其他类似程序打开 MLI 3D Studio的材料库格式文件 MMF Meal Master格式

    1.7K10

    在 C++的跨平台开发中,如何处理不同操作系统和编译器之间的细微差异,以确保程序能够稳定且高效地运行?

    在 C++ 的跨平台开发中,处理不同操作系统和编译器之间的细微差异是非常重要的。以下是一些处理差异的技巧: 使用条件编译:使用预处理指令,根据不同的操作系统和编译器来编写不同的代码。...__) // macOS 特定代码 #endif 使用标准库和跨平台框架:尽可能使用标准库和跨平台框架来处理不同平台之间的差异,这些库和框架已经处理了很多跨平台问题。...提前了解平台差异:在开始跨平台开发之前,深入了解目标平台的特性和限制。这样可以避免在后期重构代码。 测试和调试:在每个目标平台上进行充分的测试和调试,以确保程序的稳定性和高效性。...避免使用非标准特性:尽量避免使用不同操作系统和编译器之间的非标准特性,以避免出现不可预测的结果。 分离平台特定代码:将平台特定的代码分离到独立的文件或模块中,这样可以更容易维护和管理。...总而言之,处理不同操作系统和编译器之间的细微差异需要深入了解每个平台的特性,并采取适当的措施来确保程序在不同平台上的稳定性和高效性。

    11210

    Jenkins系列一:安装和简单配置Jenkins简单介绍Jenkins安装

    并且能够帮助您的开发团队应对如下挑战: 软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。...当前它增加一个选项,如果它们发生SCM改变时,仅仅触发下游的构建。 Jabber Plugin — 把Jabber即时消息协议集成在Jenkins中。...SLOCCount Plugin — 该插件能为SLOCCount生成趋势报告,它是一个开源程序,能为超过25种不同的语言统计代码行的数量,包括C/C++、Ada、COBOL、 Fortran、SQL、...Gnat Plugin — 该插件允许Jenkins集成Gnat的功能来作为ADA(Ada是一种表现能力很强的通用程序设计语言,它是美国国防部为克服软件开发危机,耗费巨资,历时近20年研制成功的。)...其他构建后操作 Parameterized Trigger Plugin — 该插件可以让你在构建完成后触发新的构建,并为这次新构建使用不同的方式指定一些参数。

    2.1K10

    CentOS 6.5下源码安装GCC-4.8.2安装笔记整理

    ,望大家予以点评: •  根据官方文档Prerequisites的要求,安装GNAT,texinfo,因为GANT依赖于texinfo,texinfo直接yum就行,版本够用,GNAT源码安装...•安装isl和cloog,下载源码安装包,可以直接安装,gcc可以找到,也可以在安装gcc是接下到gcc的源码目录下,并建立软连接,对于第二种情况官方文档中有详细说明,而且建议那样做,当时没注意...,导致在用户目录下编译找不到isl •autoconf本机版本过低,源码重新安装 •gettext本机显示未安装,yum即可,基于依赖,自动安装两个包: cvs-1.11.23-...,查看日志提示找不到libmpc.so.2,可是他明明就在那里,还是让gcc自己编译吧 3、而且这么干连分别安装时安装MPFR的 gmp.h version and libgmp version...are the same... (4.3.2/4.3.1) no报错都解决了,当然,如果特别想分别安装,这个错误可以在MPFR配置是使用.

    1.3K20

    什么是好的编程语言?

    当 bug 简单地给出错误的答案时,它尤其糟糕,就像在汇编程序中对一个固定的点号执行浮点操作一样。将单位附加到数字上也是可取的,但据我所知,很少有语言允许这样做。 快速编译是迭代解决方案所必需的。...尽管有人声称,当 Haskell 代码编译时,它往往是正确的,但这似乎不像支持者所希望的那样正确。...在一门语言中我想要什么样的特性? 为了回答这个问题,我看了一下我使用过的语言,并尝试指定一些我喜欢的特性。如果我设计了一种语言,我会考虑使用以下这些特性。...DSL —— 解析器/生成器 在 20 世纪 90 年代末,有一些小小的活动来创建特定于领域的语言,因此有一个解析器/生成器是非常有帮助的。...很难选择特定的特性,因为我认为是组合包实现了这一点——许多成功所必需的东西正是很多人喜欢抱怨的。我认为这是伟大的,但对于其他一些语言来说却不是这样。另一个需要考虑的是包的结构。

    2.7K20

    好的编程语言具备哪些特性?

    当 bug 简单地给出错误的答案时,它尤其糟糕,就像在汇编程序中对一个固定的点号执行浮点操作一样。将单位附加到数字上也是可取的,但据我所知,很少有语言允许这样做。 快速编译是迭代解决方案所必需的。...尽管有人声称,当 Haskell 代码编译时,它往往是正确的,但这似乎不像支持者所希望的那样正确。...在一门语言中我想要什么样的特性? 为了回答这个问题,我看了一下我使用过的语言,并尝试指定一些我喜欢的特性。如果我设计了一种语言,我会考虑使用以下这些特性。...DSL —— 解析器/生成器 在 20 世纪 90 年代末,有一些小小的活动来创建特定于领域的语言,因此有一个解析器/生成器是非常有帮助的。...很难选择特定的特性,因为我认为是组合包实现了这一点——许多成功所必需的东西正是很多人喜欢抱怨的。我认为这是伟大的,但对于其他一些语言来说却不是这样。另一个需要考虑的是包的结构。

    2.1K10

    浅谈plsql (r3笔记第14天)

    我自己在以前的总结中提出了以下几个问题,自己来按照这个思路来解答一下,可能大家印象中的pl/sql和sql还是有很大的差别的。...说到pl/sql,不得不提到ada语言,因为pl/sql是基于ada语言来建模的,是美国国防部耗时20年研发成功的。...而且Ada语言是 美国国防部指定的 唯一的一种可用于 军用系统开发的语言,我国军方也将Ada做为军内开发标准第四代计算机语言的成功代表。 -->先有sql还有pl/sql?...Oracle 9.2 XML Oracle 10.1 2004年,改进的/自动的数据库管理, 优化的编译器和编译时警告 Oracle 11.1 2007年,函数结果缓存,符合触发器,continue…...,对sql的更加全面的扩展,虽然两者的问题出发点不同。

    78190
    领券