比如messagebox()这个API函数在WINDOWS.H文件中
创新互联建站专注于牧野企业网站建设,响应式网站设计,商城建设。牧野网站建设公司,为牧野等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
strlen在stdio.h文件中
简单的写一个API
#include "windows.h"
#include "windowsx.h"
WinMain(这里有六个数)
{
MessageBox(NULL,"你好","编程世界",MB_YESNO);
}
Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口。
LRESULT 是这个函数的返回值类型
typedef LONG_PTR LRESULT;
typedef _W64 long LONG_PTR;
LRESULT一般也就可以认为是long
CALLBACK 表示该函数是一个回掉函数
回掉函数:
WINAPI是一个宏,所代表的符号是__stdcall, 函数名前加上这个符号表示这个函数的调用约定是标准调用约定,windows API函数采用这种调用约定。
初学者用C语言写程序,一般不需要使用__stdcall
C 库函数 是指 C 语言本身支持的一些基本函数,通常是汇编直接实现 的。 。 API 函数是操作系统提供给用户方便设计应用程序的函数,实现一些特定的功能, API 函数也是 C 语言的函数实现的。 他们之间区别是:API 函数是针对操作系统的,C 语言函数则是针对 C 语言本 身的。 C语言库函数是API的上层!
第一个问题,首先你要明白,C语言在某个平台上开发应用需要这个平台的API,但它本身也有自己的函数,C库的部分函数调用了windows API,比如文件读取函数,也有一些是自身的,如字符串操作。 所以它们之间关系你也就明白了。 他们之间的区别在于前者执行效率快,因为前者直接对windows系统实现控制。 第二个问题,头文件只是声明程序要用哪些函数以及什么数据类型,而这些函数体以二进制形式保存dll文件中,winAPI在系统自带的dll中,sin函数则在vc的bin文件下dll文件。 怎么实现sin函数功能的? 在vc目录下有lib文件,是提供这些函数体所在地址。 程序在编译前会告诉编译器用哪些函数,然后在生成.exe可执行文档前会与lib链接,在.exe运行时,要用哪些函数直接查找地址,这由系统完成。 第三个,我想c++库是在c库基础上的拓展。
简单的理解:
1、使用Windows
API编写的程序,在其他操作系统(例如Linux)下就无法运行了。
2、如果只用C语言库函数编写的程序到其他操作系统下(支持标准C语言的)也可以运行。