高级编程语言C语言的发展及其对跨平台开发的影响

发布时间:2021-04-30 来源: 万汇智联 浏览次数:

C和跨平台开发

在这里插入图片描述

在许多高级编程语言中,C语言具有悠久的历史和强大的生命力。它既有系统开发又有应用程序开发。它是信息技术发展的强大工具。这里简要介绍了C语言的开发及其对跨平台开发的影响。

C语言

C语言最初是由Bell Labs的Dennis Ritchie开发的,用于在1969年至1973年之间重写unix操作系统。它成功替代了操作系统开发的汇编语言模型,随后得到了广泛而快速的开发。由于几种流行的操作系统(Linux,Windows等)的内核都是由C开发的,因此它们被称为系统编程语言,它们的功能不仅限于系统开发。常见的高级编程语言或脚本语言(例如Java,Python,Perl和PHP)都是应用程序编程语言。对于开发人员来说,用这些语言编写的代码没有运行平台的问题。许多高级语言也是用C语言编写的。

与许多流行的高级编程语言相比,C语言是与平台真正相关的编程语言(C ++可以视为C的超集)。编译器工具将C源代码转换为特定机器指令集的二进制程序,该指令集只能在相应的操作系统和硬件平台上运行。 Java程序只需要编译一次,就可以在任何地方运行,而与特定的硬件平台无关。唯一的条件是平台上可以使用Java虚拟机。

跨平台开发

跨平台开发是指一种编程方法,其中一组代码(或业务)在多个平台上运行,这也是一种开发技术。平台是业务运行的环境。 Windows,Linux和Unix是最典型的计算机操作系统平台,而IE,Chrome和Firefox等浏览器是一种应用程序平台。这些“平台”也有自己的操作“平台”,Windows可以在x8 6、 amd64和arm等硬件平台上运行,Linux可以运行更多;这里讨论的平台是指操作系统,所涉及的平台分为Windows和类Unix。各种Unix和各种Linux被认为是相同的。可移植操作系统接口(POSIX)规范在类似Unix的情况下更加一致,并且在Windows上也受支持,但是其上的Win32 API功能更加丰富。

c 微信公众平台开发_c 的跨平台软件开发_跨浏览器插件开发技术之npapi

在这里插入图片描述

当然可以进行跨平台开发以满足业务发展的需求。当您的软件在Windows上运行良好时,但是随着Linux市场的兴起,您必须在Linux上开发产品,然后重新关注Linux平台。建立一个“轮子”,业务与Windows上运行的软件没有什么不同,只是一个不同的平台。由于平台和操作系统提供的接口的不同,开发人员会根据不同的系统调用来实现相同的业务需求。在开发过程中,自然会出现一个抽象层c 的跨平台软件开发,将业务和运营平台分开。

像Java这样的高级语言可以被视为高级抽象。使用这些应用程序语言编写软件时,您无需考虑平台,只需要专注于业务即可。这是一个相对常见的开发模型。似乎没有必要使用C进行应用程序开发,但是实际上,许多基本组件(数据库MySql,WEB服务器Apache等)都是由C开发的,因为由C开发的软件具有较低的软件开销和较高的操作性。效率。

跨平台问题

C语言应该是跨平台的。几乎每个平台都本机支持C开发环境。由于C编译器的实现方式不同以及操作系统的多样性,因此在使用C开发应用程序时会存在跨平台运行的问题。

有必要谈谈C语言几个主要标准的演变

新功能包括:

struct vectord {
    size_t len;
    double arr[]; // the flexible array member must be last
};

c 微信公众平台开发_跨浏览器插件开发技术之npapi_c 的跨平台软件开发

使用这种方式

//申请内存尺寸 sizeof(struct) + array_len*sizeof(array element)
struct vectord *vector = sizeof(struct vectord) + array_len*sizeof(double);
vector->len = ...;
for (int i = 0; i < vector->len; i++)
     vector[i] = ...