gcc的rand实现()

Sas*_*son 7 gcc

我已经尝试了几个小时来找到gcc中使用的rand()函数的实现...如果有人可以引用我的文件包含它的实现或带有实现的网站,我将不胜感激.

顺便说一下,哪个目录(如果重要的话我使用Ubuntu)包含gcc编译器的c标准库实现?

Tom*_*son 13

rand包含对函数的调用,该函数__random主要调用__random_rrandom_r.c中调用的另一个函数 .

请注意,上面的函数名称是glibc源存储库的超链接,版本为2.28.

glibc随机库支持两种生成器:简单的线性同余生成器和更复杂的线性反馈移位寄存器.可以构造其中任何一个的实例,但是在调用rand时使用的默认全局生成器使用线性反馈移位寄存器生成器(请参阅定义unsafe_state.rand_type).


Pab*_*ruz 9

您将在GNU GLIBC项目中找到GCC使用的C库实现.

您可以下载它的源代码,您应该找到rand()实现.具有函数定义的源通常不安装在Linux发行版上.只有我猜你已经知道的头文件通常存储在/usr/include目录中.

如果您熟悉GIT源代码管理,您可以:

$ git clone git://sourceware.org/git/glibc.git
Run Code Online (Sandbox Code Playgroud)

获取GLIBC源代码.