机载软件适航B级编译器库
⑴ 如何查看执行文件或者库文件的编译器版本
可以看到编译器版本 。 简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言
⑵ 编译软件属于________。
系统软件
编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) →预处理器(preprocessor) → 编译器 (compiler) →目标代码(object code) →链接器(Linker) → 可执行程序(executables)
(2)机载软件适航B级编译器库扩展阅读:
典型的编译器输出是由包含入口点的名字和地址, 以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的EXE,所以我们电脑上的文件都是经过编译后的文件。
⑶ c++标准库是不是所有的编译器里面都有啊
应该这样说:原则上,所有被称作C++编译器的软件都应该遵循C++标准(ISO C++,可查阅网络知道),然后在此基础上可以扩充。也就是说原则上,C++标准库是都有的。但不排除少数编译器并不完全遵循标准,比如他们觉得某个函数在某处出现是不科学的,或如果换个方式做更好,有可能不理会标准。
STL是标准库中的,不然为啥叫STL(Standard)?但不是一开始就有STL,所以不是任何时代的C++编译器都能支持STL。与上面同理,也不是所有厂商的所有编译器都会恪守STL。只能说是绝大多数是。
库函数当然就是库里的函数啦~呵呵。
⑷ 大家初学c语言用的编辑器和编译器是怎么下载安装详细步骤
Vscode集成一下就好
⑸ arm-linux-gcc交叉编译器的制作,以及版本选择问题。
,需要必须有足够动经验来支持。
另外,用 RH9 的都是高手,我想你的知识不需要来提问了吧?
1、在 PC 上编译 arm 的程序当然需要较差编译器,这个需要自己安装,或者着现成的交叉编译器环境,一般是一个特殊参数编译出来的 gcc + binutils + glibc + linux-header。这个每个人动环境不同,一般都需要自己编译一个,当然没有特殊需求,也可以找现成的。不过很难找,因为这套环境还要和你动系统搭配,不然环境不匹配,连这个环境都不能运行,那就更谈不上编译东西了。
有关自己编译搭建交叉编译环境,可以看看一个特殊的 Linux 发行版 LFS 的分支: CLFS 。
2、移植分很多意思,移植有可能就意味着这套源代码不能在目标系统上面编译,需要你根据相应的知识去修改源代码来让这套代码适应目标编译器的要求,比如源代码有 SSE4 的优化,这套程序在非 SSE4 CPU 上无法编译运行,但目标机器连 SSE1 都不支持。那么就需要移植。
或者移植仅仅是根据新的环境进行编译,不需要进行源代码修改,只需要进行一下编译就能运行的程序,也可以称为移植,就是从一个环境、架构 -》另一个环境、架构。都可以称为移植,但真正的移植意味着修改程序源代码来适应新环境。你说的这种移植是最简单的移植。
3、决定目标硬件环境 -》搭建目标编译器 -》制作目标环境(内核,基础软件库)-》进行应用移植(移植需要的软件、主应用程序)-》搭建系统文件系统 -》导入目标系统-》启动目标系统&应用。说起来很简单,因为这是完全没有问题的条件下。
至于超级终端。那是用来控制目标系统的。目标系统有可能不能插键盘鼠标显示器,这就需要一个远程网络链接来进行控制。以及通过远程链接来发送数据。这都需要终端的支持。
虚拟机下面进行开发,不能发挥你的计算机的性能。而且因为隔着 VMware 的软件模拟层,可能还不会很方便的让你链接目标设备。
至于用 socket ,我还没见到你的目标需要这个东西,因为所有的东西都是现成的源代码。不需要你从 0 开始写,当然你想自己写一个系统内核,或者服务器程序,或者全套的系统+应用,我绝对不拦你,但希望你写完这套东西,能把源代码发布出来。
ads 可以认为是一个支持环境,他本身不是一个系统的开发 SDK 。
-------------------------------------
ads 没用过,印象里他还有模拟器,调试器什么的程序。功能上要比 Linux 开发环境,WinCE 环境下面的东西更多更偏向于硬件方面,毕竟 ads 是 arm 出品的,不太可能偏向于软件部分设计。Linux 和 WinCE 都是系统而不是硬件工具。
你可以认为交叉编译器是一个应用程序,一个输出器。把源代码输出为 arm 的代码,这个应用程序的输出,是靠他自己的环境,而不是当前系统的环境的。
当前系统的各个软件的版本,不能影响交叉编译器输出的环境(理论上,现实有的时候总是从别的地方给你打击……),交叉编译器一般至少有 gcc 、binutils 、glibc 库、linux kernel 头文件。
在软件需求上。
头文件谁都不依赖,glibc 只需要内核头文件,其他程序全都依赖于 glibc 。也就是所有程序都不依赖内核,仅仅是依赖于内核头文件。
gcc 和 binutils 是把程序源代码根据上面各个环节的需提供的功能来输出为上面环节里面的二进制程序。依赖你当前环境的,只有 gcc 和 binutils 两个程序的执行、控制环节。只有他们两个依赖的,而不是你的交叉编译后的程序。
至于编译器版本的选择,新版本功能更好,旧版本兼容更好。
这个要看你的实际需要了。应用程序源代码也调编译器的,同时也依赖于软件库的功能。
arm 开发建议稳定、兼容优先。当然也可以尝试最新的编译环境,来获取更好的优化(前提是还有什么代码优化的话)。
另外,团IDC网上有许多产品团购,便宜有口碑
⑹ 哪个单位可以出具民航机载设备适航认证的检测报告
推荐:广电计量-环境可靠性与电磁兼容试验中心
⑺ 编译器和IDE的区别 如Eclipse、tasking,GNU,GCC,keil,IAR有什么区别
0, 有些IDE是支持多种编译器和多种硬件架构的
1, IDE本身跟硬件没有关系, 是自带的编译器跟平台有关,但各硬件厂家会为自己定制或开发维护一个IDE方便开发,所以给你感觉IDE跟硬件平台有关了
2, 编译器与你是什么架构的CPU是有关的,不同架构的CPU,其机器指令不一样,所以需要不同的编译器
3, 如果你的编译器功能足够强大,是可以让你所想到的任何语言所描述的程序编译成你想要指定的硬件平台上去运行,不过事实上,这种万能编译器几乎很难实现,也就是:没有
4.要看IDE是否支持配置不同的编译器,ECLIPSE应该是可以配置GCC的
5. 编译器只管到架构一层,不会管到自己私加的一些功能上,私加的功能通常是厂商自己提供BSP开发包来解决的,而不是修改编译器
6.你这个问题没有意义,比如嵌入式板上跑裸机程序或用LINUX系统,那你所用的IDE通常来讲是不同的,甚至用LINUX OS的系统上运行的程序不需要IDE,只需要GCC,而如果你硬是想在宿主机上用LINUX平台开发裸机程序,用GCC去编应该也可以,但通常你都是在WINDOWS平台用一个所谓的IDE的软件去编一个IMG,然后烧到ARM平台上。
2.1 你在编译之前,肯定会选择你是哪个内核的ARM,或者选择你是哪一款芯片。这是配置问题,并无关编译器是否不同这个级别的问题上了。你可以咨询你现在所使用芯片的官方技术支持,问他们看哪个IDE或哪款编译器支持你想要的芯片。
2.2 同样,这类问题,要不,你可以网络谷歌,要不,就问芯片厂商技术支持。
⑻ 常见的C语言编译器是什么
目前最流行的C语言编译器有以下几种:
1、GNU Compiler Collection 或称GCC
GCC(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器。它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分。
GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的着名例子,由自由软件基金会以GPL协议发布。
2、Microsoft C 或称 MS C
Microsoft C 是c语言的一种IDE(集成开发环境),常见的还有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或称 Turbo C
Turbo C是美国Borland公司的产品,Borland公司是一家专门从事软件开发、研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 这些软件很受用户欢迎。
(8)机载软件适航B级编译器库扩展阅读:
C编译的整个过程很复杂,大致可以分为以下四个阶段:
1、预处理阶段在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替换工作,输出是同源文件含义相同但内容不同的文件。
2、编译、优化阶段编译就是将第一阶段处理得到的文件通过词法语法分析等转换为汇编语言。优化包括对中间代码的优化,如删除公共表达式,循环优化等;和对目标代码的生成进行的优化,如如何充分利用机器的寄存器存放有关变量的值,以减少内存访问次数。
3、汇编阶段将汇编语言翻译成机器指令。
4、链接阶段链接阶段的主要工作是将有关的目标文件连接起来,即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来,使得所有的目标文件成为一个能够被操作系统装入执行的统一整体。
⑼ 求《编译器与函数库》(Intel.Visual.Fortran.Composer.XE)2011.5.221 Windows[光盘镜像]软件
【Intel Visual Fortran】
官方网站就能找到。
software~intel~com/en-us/intel-visual-fortran-studio-xe-evaluation
请把上面的 ~ 改成 . (点)
下载的软件是 30 天试用版。加上许可文件既可变为长期可使用的。
许可文件可以在以下地址下载:
goo~gl/S3QJG
(同样需要把 ~ 改成点,打开后下载 XE.2011.5.221_intel_tbe.lic 文件 )
另外,IVF 需要 Visual Studio 2005 或 2008 等。
⑽ MDK编译提示main.c(7): warning: #550-D: variable "XX" was set but never used怎么破
定义了变量key,使用key的代码为:key = SPI2_ReadWriteByte(0x00);执行函数并将函数返回值赋值给key,没有使用这个返回。
比如
int b=a;
从a中读取数据负值给b.其实,我是感觉声明和负值的地方离那么远很奇怪。
反正循环里面又不用,为什么不到负值的时候才声明。
(10)机载软件适航B级编译器库扩展阅读:
使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在VB Script中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。
例如,可以创建一个名为Click Count的变量来存储用户单击Web页面上某个对象的次数。