首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用自己的编程语言利用VDSO对象?

问如何用自己的编程语言利用VDSO对象?
EN

Stack Overflow用户
提问于 2013-03-25 03:12:37
回答 1查看 6.3K关注 0票数 9

最新的Linux内核(至少在amd64上)提供了一个名为linux-vdso.so.1的神奇对象文件,它抽象出内核的syscall接口,允许内核选择最佳的调用约定。如果你用C编写代码,glibc会自动使用这个对象。

现在,如果我想在不使用glibc的情况下编写程序,我如何使用这个对象呢?它提供的接口在什么地方有文档吗?那么调用约定呢?

EN

回答 1

Stack Overflow用户

发布于 2013-03-25 04:55:14

我发现Linux内核树中的这些文件很有帮助:

vDSO对象是一个虚拟的动态共享对象,它总是映射到linux下amd64进程的地址空间中。它可以用来实现快速系统调用。要访问vDSO对象中的函数,您需要

table an >从符号表中查找

  • 地址

这两件事都可以使用CC0许可参考实现parse_vdso.c来完成。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15602773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档