Ada语言
logiciel
曾经写码为业,如今读码为乐。
展开
-
Ada判别式记录的效率问题
如果Ada判别式记录使用不当,将产生额外时空开销。原创 2024-06-21 09:18:35 · 220 阅读 · 0 评论 -
用Ada语言实现ARINC653定义的航空电子应用软件的标准接口
用Ada语言实现ARINC653定义的航空电子应用软件的标准接口(APEX),即是用Ada语言编写一套程序,使之实现APEX规定的功能。原创 2023-04-22 14:58:39 · 413 阅读 · 1 评论 -
Ada2012即将完成
Ada2012即将完成Ada语言标准的下个版本有很多提高 原文:http://www.adacore.com/category/press-center/newsletters/译者:logiciel,2010年5月19日 作为语言设计的自然演化的一部份,Ada 标准的一个新版本即将完成。 新版本称为Ada 2012,这是对Ada 2005的一个向上兼容的增加。当前正在考虑翻译 2010-05-19 17:48:00 · 1008 阅读 · 0 评论 -
Ada:完全适合于3.0世界
当你从事于3.0世界,并用3.0术语理解Ada,我们将看到Ada最好的日子。翻译 2010-06-10 17:41:00 · 1099 阅读 · 0 评论 -
赋值表达式——Ada应用实例之十一
Ada可以避免C语言赋值表达式的不安全性。原创 2011-01-11 08:37:00 · 1374 阅读 · 0 评论 -
动态分配内存——Ada应用实例之十二
Ada易于避免动态分配内存相关的错误。原创 2011-01-17 08:42:00 · 1103 阅读 · 0 评论 -
嵌套循环的控制变量——Ada应用实例之十三
Ada的for循环的控制变量有规定的作用域,循环嵌套时即使控制变量同名也不会混淆。原创 2011-01-21 21:39:00 · 1672 阅读 · 0 评论 -
Ada2012与先前版本的主要特色比较
Ada2012与先前版本的主要特色比较 原文:Ada Comparison Chart, http://www.adacore.com/home/ada_answers/comparison-chart/译者:logiciel,2011年10月14日The f翻译 2011-10-14 22:03:46 · 2088 阅读 · 0 评论 -
C++11与Ada2012 – 本地语言的重生?(摘译)
原文:C++11 and Ada 2012 - renaissance of native languages?(QuentinOchem,electronic design,2012年6月22日) 从语言流行程度来看,90年代晚期和2000年代早期主要以所谓“托管”的语言,如Java或c#为主。然而目前业界似乎越来越多地转回本地语言,特别是两个主流语言c++和Ada。有趣翻译 2012-06-29 20:41:25 · 2110 阅读 · 0 评论 -
Ada语言的这二十年
CROSSTALK(美国国防软件工程杂志, www.crosstalkonline.org)2017年1/2月号的专题是“Software’s Greatest Hits and Misses”,其中有两篇文章回顾了从1997年取消Ada Mandate(强制要求使用Ada编程语言的美国国防部政策)以后这二十年的Ada语言。第一篇文章的题目是“Ada: A Failure That Never...翻译 2018-08-25 10:47:32 · 6007 阅读 · 0 评论 -
Ada编译报错“Cannot use function in a procedure call”的纠错方法
在调试一个Ada程序时编译器报以下错误:cannot use function "***" in a procedure call我望文生义地以为是提示“不能在一个过程调用中调用函数”***“。但是当前的调用者是一个task啊。从Stack Overflow搜到同样问题(https://stackoverflow.com/questions/14719935/cannot-use-fu...原创 2018-09-07 07:51:46 · 254 阅读 · 0 评论 -
msys2中安装ada编译器
$pacman -S mingw64/mingw-w64-x86_64-gcc-ada 8.2.0-3$pacman -S mingw64/mingw-w64-x86_64-gprbuild-bootstrap-git原创 2018-11-16 21:17:31 · 357 阅读 · 0 评论 -
数学函数的异常捕获——Ada应用实例之十
一帖子报告用C++语言编写了龙格——库塔方法解一个状态方程的程序,编译系统是Borland C++。程序运行过程中出现异常,错误信息是“floating point error”。 笔者也用Borland C++试了一下,确实出错,但DEBUG状态下停在一条fprintf语句处,这里显然不是发生异常的地方。估计是浮点运算出错。但程序中有大量的算术运算和数学函数调用,很难通过单步运行来定位原创 2010-05-18 18:00:00 · 1392 阅读 · 1 评论 -
你选择富于表达的还是纵容的编程语言?
你选择富于表达的还是纵容的编程语言?——代码可分析的难易程度取决于你使用的编程语言 作者:Yannick Moy,2010年4月7日原文:http://www.embedded.com/design/224200704译者:logiciel,2010年4月17日 用C和Java的成熟的缺陷查找工具(包括诸如CoverityPrevent、GrammatechCode翻译 2010-04-17 13:37:00 · 1185 阅读 · 0 评论 -
数组的指定初始化——Ada应用实例之九
数组的指定初始化——Ada应用实例之九 一帖子询问如何理解下面的C程序: FEFRM event[ ] = { [C_CMD_SET_POWER_S] = {FAC_CMD_SET_P, 5, 1}, [C_CMD_SET_FAC_M] = {FAC_CMD_SET_FAC_M, 5, 1}, [...]={....}原创 2010-03-13 12:50:00 · 990 阅读 · 0 评论 -
软件系统的安全性和保密性
作者:Robert BK Dewar,2007年7月原文:http://www.ddj.com/security/199300140译者:logiciel,2009年8月8日 在当今世界,我们越来越倚赖于软件系统的安全性和保密性。在新生产的轿车中,刹车和控制系统依赖于复杂的软件。在公众投票站中,计票机依赖于正确记录投票的软件。 传统观点认为软件安全翻译 2009-08-08 16:40:00 · 9731 阅读 · 0 评论 -
用Ada提高安全性、保密性和可靠性
作者:Ben Brosgol, Robert Dewar,2008年2月7日原文:http://electronicdesign.com/Articles/Index.cfm?ArticleID=18141译者:logiciel, 2009年8月15日在任何编程项目中编程语言的选择是最关键的决策之一。有不少可选的编程语言。在计算机编程语言的60年历史中,有几百种为各种目的而设计和使翻译 2009-08-15 10:48:00 · 1450 阅读 · 0 评论 -
稳定婚姻的求解程序——Ada应用实例之一
稳定婚姻的求解程序——Ada应用实例之一 一网友用C编写了稳定婚姻的求解程序,详见:http://topic.csdn.net/u/20090904/07/c2aae375-c195-4ee1-b547-409688a520a4.html)。该程序的求解思路是对的,但可惜没有正确处理数组下标,因此不能产生预期结果。 如果使用Ada,只要适当地定义了数组分量和下标的类型,那么原创 2009-10-11 07:36:00 · 808 阅读 · 0 评论 -
数组下标越界——Ada应用实例之三
数组下标越界——Ada应用实例之三 一个实现字符串读入和排序的C程序,在VC中编译、运行可产生正确结果,但在TC中编译、运行却产生错误结果(原帖地址),这是什么原因? 该程序中有如下语句:#define N 5char cs[N][20]; char * ptstr[N+1]; int i=0,j; printf("Press [Enter] at a lines s原创 2009-10-31 13:58:00 · 1174 阅读 · 0 评论 -
简易计算器设计中的一个数据结构问题——Ada应用实例之二
简易计算器设计中的一个数据结构问题——Ada应用实例之二 一网友用C写了一个简易计算器程序(原帖地址),但他发现“低位数的表达式能计算正确,高位数就出错了。” 经检查,发现两个问题。一是计算结果赋给一个类型为char的变量。二是读入的数字字符串的数值转换成数值后,在以后的处理过程中对其进行加‘0’或减‘0’的操作。 第一个问题导致“高位数”计算出错,这是因为ch原创 2009-10-30 17:43:00 · 979 阅读 · 0 评论 -
Ada语言适合实时安全关键需求
Ada语言适合实时安全关键需求 作者:BENJAMIN M. BROSGOL, SENIOR TECHNICAL STAFF ADACORE,2009年7月原文:http://www.cotsjournalonline.com/magazine/articles/view/100982/pg:1译者:logiciel,2009年11月19日 开发军用系统的实时软件是困难翻译 2009-11-19 12:51:00 · 1443 阅读 · 0 评论 -
平衡二叉树的节点搜索函数——Ada应用实例之四
平衡二叉树的节点搜索函数——Ada应用实例之四 以下是一个平衡二叉树的节点搜索函数(原帖地址):binarytree *search(binarytree *tree,binarytree *parent,Type data){ binarytree *p = (binarytree *)malloc(sizeof(struct binarytree)*1);原创 2009-11-23 17:35:00 · 1142 阅读 · 1 评论 -
枚举型自加——Ada应用实例之六
枚举型自加——Ada应用实例之六 有两个帖子([1] ,[2])提出了枚举型变量自加的问题。帖子[1]中定义了如下类型:typedef enum CLCMD{ CLEAR_ALL = 0, //清除屏幕所有内容 CLEAR_TXT = 1, //清除屏幕除第一行外所有内容 CLEAR_ROW_1 = 2, //清除原创 2009-11-28 09:30:00 · 1130 阅读 · 0 评论 -
结构体扩展——Ada应用实例之五
结构体扩展——Ada应用实例之五 有一个帖子提问,是否能写个函数来改变如下结构体内的分量数目,比如添加一个char sFileName[60] ?typedef struct {int iKey;int iType;int iLen;char sTxt[10];}QQ_Who; 在C语言中,结构类型是静态定义的,不可能通过函数来动态地改变结构的组成。在原创 2009-11-28 09:21:00 · 913 阅读 · 0 评论 -
全局变量的初值——Ada应用实例之七
全局变量的初值——Ada应用实例之七 有一些帖子(如[1])讨论C语言中全局变量初值的问题。在Ada语言中,除了访问类型的变量有默认的初始值NULL之外,其它任何类型的变量都没有默认的初始值。 各种操作系统在分配一个存储页面时采用不同的处理,有的把整个页面清0,有的则不作任何处理。因此,使用一个没有初始化过的变量的值,可能导致出错。 Ada提供了一个参数为Normali原创 2009-12-05 14:40:00 · 1170 阅读 · 0 评论 -
函数strspn的实现——Ada应用实例之八
函数strspn的实现——Ada应用实例之八 strspn是C语言中的一个函数,它的功能是计算字符串s1中第一个在字符串s2中没有出现过的字符的位置。一帖子讨论了strspn的如下实现算法(本文修改了参数名称):int strspn (unsigned char *s1, unsigned char *s2) { unsigned char map[3原创 2009-12-10 17:52:00 · 1894 阅读 · 0 评论 -
为什么开发人员对Ada不感兴趣?
作者: Jack Ganssle Embedded.com (02/04/09, 01:00:00 美国东部时间)原文网址:http://www.embedded.com/212902632 一次又一次的民意调查显示,虽然过去了四分之一个世紀,Ada在嵌入式领域仍未赢得可观市场占有率。然而,数据明确显示,用Ada编写的程序比用C编写的程序缺陷更少,交付更快。 再有,A翻译 2009-07-26 07:26:00 · 3125 阅读 · 0 评论