C语言发展

C语言:历史、标准与编译过程详解

  人类之间的交流有赖于语言的产生,例如英语、汉语、日语、德语等等语言,语言是一桥梁沟通这人类。然而计算机之间也通过语言来彼此沟通,这就是计算机语言,目前较为流行的计算机语言有C、C++、Java、python等等。其中C语言具有重要的意义,任何比C语言低级的计算机语言都不可以完全具备C语言的功能,而一切比C语言高级的语言都通过C语言来实现。因此作为初学者,C语言一般作为学习的第一种计算机语言。

     C语言的历史

C语言是在B语言的基础上发展而来的,1969年贝尔实验室的肯 汤普森与丹尼斯 里奇一起开发了Unix操作系统。Unix是用汇编语言写的,为了移植到其他计算机,汤普森就在BCPL语言的基础上发明了B语言。

在1972年,达尼斯 里奇 和布莱恩 柯林汉在B语言的基础上重新设计了C语言。此后整个Unix系统使用C重写,C语言就传播开来,广泛运用各种操作系统和系统软件的开发。因此也说C语言最初是作为Unix系统的开发工具而发明的。

C语言标准化

由于各个地区和国家之间使用C语言的规则上略有不同,影响了C语言的传播性和可移植性,因此在不同时期制定了不同的C语言标准。

K&B标准,最开始时期的C语言标准是,由c语言的创始人规定的。

C89 由美国国家标准协会(ANSI)正式将C语言标准化,标志着C语言开始稳定和规范化。

C95

C99 国际标准组织(ISO)发布的新的C语言标准,简称C99

C11

C17

C2x

   C语言编写的程序运行过程

C语言是一门高级语言,方便人类的编写和理解,但是对与计算机而言,计算机只能识别二进制语言(即机械语言),因此C语言写的源代码需要经过一系列操作才可以变成可以被计算机识别的可执行文件。

源代码变成可执行文件所需要的步骤:预处理 编译 汇编 链接

预处理:预处理执行的功能包括将注释去除,文件包含,条件编译,宏定义的替换。预处理后的文件后缀由.c变为了.i,仍然是文本文件,但是文件一般会变大。

编译:将预处理后的代码转化为汇编代码,在这里说明一下汇编代码的意思(汇编代码由汇编语言写成,它是介于高级计算机语言和机器语言之中,是一种低级的编程语言,使用支付好来面熟操作码(即机器语言)与高级语言不同,汇编语言可以直接访问计算机架构的硬件资源,因此在性能方面具有优势。汇编语言,移植性差,一般对某类型cpu,二秘阁类型的cpu都有自己的汇编语言)

汇编:汇编代码变为机器代码。

这一步产生的叫做目标文件,是二进制格式。这一步会为每一个源文件产生一个目标文件。文件后缀为.o或者.obj。

4.链接---链接过程将多个目标文件以及所需的库文件链接成最终的可执行文件。

链接---链接过程将多个目标文件以及所需的库文件链接成最终的可执行文件。

(编译由编译器完成,由于大部分编译器中有汇编器功能,所以汇编也在其中完成)

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值