社区
C语言
帖子详情
库函数是怎么编译的
逍遥兮容与
2012-03-16 10:07:51
比方说对文件读写的库函数,最终还是会涉及到系统调用,库函数里应该没有系统调用的代码在的吧,系统调用的代码应该在系统内存的某个地方,但我们的程序不是被编译成二进制了么,那这里的过程是怎么编译的?
...全文
178
8
打赏
收藏
库函数是怎么编译的
比方说对文件读写的库函数,最终还是会涉及到系统调用,库函数里应该没有系统调用的代码在的吧,系统调用的代码应该在系统内存的某个地方,但我们的程序不是被编译成二进制了么,那这里的过程是怎么编译的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
逍遥兮容与
2012-03-25
打赏
举报
回复
没有系统地学,感觉思维很混乱。。
逍遥兮容与
2012-03-25
打赏
举报
回复
[Quote=引用 6 楼 muyi66 的回复:]
引用 5 楼 zzzz3621 的回复:
引用 4 楼 muyi66 的回复:
库函数可以通过调用系统 API 的方式来使用操作系统的文件系统。
问题是调用系统API 这个过程怎么实现的,编译成了什么?
就像用户自己定义的dll文件差不多。编译器通过API的头文件知道如何调用它们,检查语法错误等等,然后把对库函数里对API函数的调用写进目标代码里。
[/Quote]
抱歉,没注意到有回复
学操作系统的时候有讲到,程序要做到 地址独立和地址保护, 那我们的系统调用是跳到操作系统系统的代码片段里了么?我就是对这个有点不明白,如果跳了,又是怎么跳的呢? 你讲到的:对库函数里对API函数的调用写进目标代码里, 编译完的不是虚拟地址么?对API函数的调用的,具体是怎么调呢?
muyi66
2012-03-16
打赏
举报
回复
[Quote=引用 5 楼 zzzz3621 的回复:]
引用 4 楼 muyi66 的回复:
库函数可以通过调用系统 API 的方式来使用操作系统的文件系统。
问题是调用系统API 这个过程怎么实现的,编译成了什么?
[/Quote]就像用户自己定义的dll文件差不多。编译器通过API的头文件知道如何调用它们,检查语法错误等等,然后把对库函数里对API函数的调用写进目标代码里。
逍遥兮容与
2012-03-16
打赏
举报
回复
[Quote=引用 4 楼 muyi66 的回复:]
库函数可以通过调用系统 API 的方式来使用操作系统的文件系统。
[/Quote]
问题是调用系统API 这个过程怎么实现的,编译成了什么?
muyi66
2012-03-16
打赏
举报
回复
库函数可以通过调用系统 API 的方式来使用操作系统的文件系统。
为了法克方便面
2012-03-16
打赏
举报
回复
动态链接库
kyle
2012-03-16
打赏
举报
回复
库里已经都把系统调用的头文件都包含打包了
fkwcowboy
2012-03-16
打赏
举报
回复
如果是LINUX系统
比如说你调个open函数 顺序应该是这样的
open()-> gcc(编译并链接依赖的函数库) -> glibc
glibc里面有C库函数的实现,而且它不需要依赖任何其他的库就可以完成自编译
不知道这么解释你能明白么
GL
库函数
GL
库函数
GL
库函数
GL
库函数
GL
库函数
最后,显示列表是预先
编译
的图形指令集合,通过`glGenLists`创建,`glNewList`开始定义,`glEndList`结束定义,`glCallList`和`glCallLists`执行列表中的命令,提高渲染效率。 综上所述,GL
库函数
提供了丰富的功能...
C51
库函数
参考 C51
库函数
参考 C51
库函数
参考 C51
库函数
参考
C51 提供的本征函数是指
编译
时直接将固定的代码插入当前行,而不是用 ACALL 和 LCALL 语句来实现,这样就大大提高了函数访问的效率。本征
库函数
只有 9 个,但都非常有用,包括: * `_crol_` 和 `_cror_`:将 char ...
keil-msp432 -
库函数
版本MSP432E401Y keil
编译
环境下
库函数
《MSP432E401Y在Keil
编译
环境下的
库函数
开发详解》 MSP432E401Y是一款由德州仪器(Texas Instruments,简称TI)推出的微控制器,属于MSP432系列。该系列芯片以其高效能、低功耗和丰富的外设接口而受到广泛青睐,...
软件——STM8
编译
软件与
库函数
生成软件
在这个“软件——STM8
编译
软件与
库函数
生成软件”的压缩包中,用户可以找到一系列用于开发STM8应用的重要工具。以下是这些工具的详细说明: 1. **IAR开发环境**:IAR Embedded Workbench是IAR Systems公司开发的一...
C++逆
编译
中
库函数
识别研究
逆
编译
是一种将机器码还原成高级语言源代码的过程,在软件逆向工程领域扮演着重要角色。随着C++语言的广泛应用,对C++程序进行逆
编译
的需求日益增加。本文探讨了在C++逆
编译
过程中识别
库函数
的关键技术和实现方法。 ...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章