首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >syscalls位于glibc source中的什么位置

syscalls位于glibc source中的什么位置
EN

Stack Overflow用户
提问于 2011-06-29 11:54:37
回答 2查看 4.9K关注 0票数 25

因此,我查看了linux glibc源代码,但我看不出它实际上在哪里做任何事情。下面是来自io/chdir.c的代码,但它代表了许多源文件。这里发生了什么事?显然,我遗漏了一些东西。它的秘密是什么,它在哪里进行系统调用或实际做一些事情?

stub_warning是一些遗留的疯狂的东西。__set_errno似乎是一个设置errno的简单宏。虽然我找到了一百万个weak_alias的用法,但我没有看到任何地方对它进行定义。

有没有一个有用的指南来帮助我们理解glibc是如何工作的呢?

#include <errno.h>
#include <stddef.h>
#include <unistd.h>

/* Change the current directory to PATH.  */
int
__chdir (path)
     const char *path;
{
  if (path == NULL)
    {
      __set_errno (EINVAL);
      return -1;
    }

  __set_errno (ENOSYS);
  return -1;
}
stub_warning (chdir)

weak_alias (__chdir, chdir)
#include <stub-tag.h> 
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6515583

复制
相关文章

相似问题

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