API编程是用什么语言、方式、编译器来编程?

API编程是用什么语言、方式、编译器来编程?,第1张

API是微软的Windows系统提供的一组系统函数,可以用几乎任何语言、各种方式(编译的和解释的),用所有支持Windows系统接口的编译器来编程。

说白了,就是在任何一种语言中,只要允许调用Windows系统函数,就可以用API编程。

我们常见的编译语言如C、C++、Delphi、VB,半编译语言Java,解释语言如各种常见的脚本语言,甚至汇编语言,都可以调用Windows

API函数,因而都可以进行API编程。

API是Windows提供的函数,因此显然只有在Windows系统下才能使用。另外编译器必须提供相关的接口支持这样的系统调用。如80年代Dos下的Turbo

C就不支持API编程,但在Windows下的编译器VC、BCB和MingW

GCC都可以进行API编程。

主函数写错应该是:

public class Text_RC {

public static void main(String[] args) {

Circle r = new Circle(3)

Reck c = new Reck(3,5)

System.out.println("圆的面积为:"+r.mianji())

System.out.println("圆的周长为:"+r.zhouchang())

System.out.println("矩形的面积为:"+c.mianji())

System.out.println("矩形的周长为:"+c.zhouchang())

}

}

为了方便能看明白,我用使用比较广泛的C语言和X86架构去举例

API:程序员编程时用到的库函数像C的stdio.h中的printf()函数。api可以大大提高程序的开发效率,缩短源码。你在编程时直接引入库文件#include<stdio.h>调用printf()即可。不用再自己写printf()函数的具体实现代码。

ABI:是一个规则或者说标准吧,他规定了数据类型,存放方式,函数/方法(参数,返回值,返回地址,变量的存放位置和格式)等等,例如X86的函数参数存放在DI,SI,DX,CX几个寄存器中,返回值存放在AX中,小端格式存放等等。作用是为了方便同一平台不同系统的软件移植吧。

我自己觉得这个ABI可以把它纳入ISA 指令集架构的范畴了(这个只是我为了方便题主你理解啊,ISA的定义并不包含ABI哈~)。。因为同一个ISA的ABI都相同。。。

我尝试举个通俗点的例子,api有点“前人栽树后人乘凉”的味道(编译器制作初期编写函数,开发者使用时直接调用函数名)。ABI就像是前人留下来的一些定理(你必须按照这定理去做,不然将会有大麻烦)。

~~~~~~~~~~~~~~~~~有问题可以继续提问,


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7941356.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存