系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准

一、系统服务

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第1张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第2张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第3张图片

二、系统调用

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第4张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第5张图片

运行:

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第6张图片

三、将系统调用封装为函数

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第7张图片

四、多个源文件组成程序、翻译、链接

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第8张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第9张图片

所以要想程序在控制台打印字符,有两个办法。

1、把需要的代码直接复制粘贴到源文件去

2、

原理如下

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第10张图片

五、函数库

正常运行代码流程

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第11张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第12张图片

但是我们的函数越来越多,就会变得难以管理,并且在编译的时候也非常的麻烦

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第13张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第14张图片

注:其中的.a文件就是在linux中的库文件。因为其相当于用来存储函数的仓库,所以我们也称之为函数库。

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第15张图片

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第16张图片

注:.so文件和Windows平台下的.dll文件性质其实是一样的。

六、API

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第17张图片

七、POSIX标准系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第18张图片

注:POSIX标准不管库文件(不管你怎么实现),那库文件由谁来提供呢?由编译器厂商来提供的,会根据编译器所运行的平台来酌情处理,之后会将编译器、库文件、头文件一起打包发布。

系统服务和系统调用、封装,多个源文件组成程序、翻译、链接,函数库(库文件),API,POSIX标准_第19张图片

你可能感兴趣的:(计算机科学相关,C语言相关,C++相关)