首页
学习
活动
专区
工具
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 无疑可以算作一种“上古”编程语言。

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

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

    1.2K00

    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里) 额外建议: 给特定用户安装 gdbpretty-printer

    7.6K10

    你用.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应用程序都有唯一一个类似JavaApplication ID,比如com.smobielr...如果您改变了新版本应用程序Application ID,那么Goolge应用商店会认为这是个完全不同应用程序....总结 平台设置,需按照ios和android标准,错误格式和内容会导致打包失败或者无法两个平台使用,请参考本文内容合理设置名.

    96400

    你用.NET开发APP平台打包APP要填个“名”含义

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

    66120

    制作跨平台 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 支持POSIXshell或GNU bash POSIX或SVR4 awk工具 GNU binutils gzip...gdbpretty-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 支持POSIXshell或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.1K20

    Linux 在线安装软件 gcc在线安装操作方法

    Linux在线安装相关命令: yum install:全部安装 yum install :安装指定程序 yum groupinsall :安装程序组 yum -y update...:升级所有,改变软件设置和系统设置,系统版本、内核都升级 yum -y upgrade:升级所有,不改变软件设置和系统设置,系统版本升级,内核不升级 yum update :更新指定程序...yum check-update:检查可更新程序 yum upgrade :升级指定程序 yum info :显示程序信息 yum list:显示所有已经安装和可以安装程序...yum list :显示指定程序安装情况 yum groupinfo :显示程序组信息 yum search :根据关键字查找程序 yum remove/erase...:删除程序 yum groupremove :删除程序组 yum deplist :查看程序依赖情况 yum clean :清除缓存目录中程序

    2.9K41

    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 <...,经常作为发送e-mailAOL里附件而创建文件;一个多区MIM文件里文件能用WinZip或其他类似程序打开 MLI 3D Studio材料库格式文件 MMF Meal Master格式

    1.7K10

    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
    领券