如何查看用C/C++编写的函数的源代码?

4

一般来说,在R中,可以通过在控制台上输入函数名称来查找函数的源代码。那么,如何查找使用C或C++编写的函数的源代码呢?

例如,当我尝试查找lapply()函数的代码时,它会显示如下内容 -

function (X, FUN, ...) 
{
    FUN <- match.fun(FUN)
    if (!is.vector(X) || is.object(X)) 
        X <- as.list(X)
    .Internal(lapply(X, FUN))
}
<bytecode: 0x0000000007384128>
<environment: namespace:base>

这并没有帮助我们理解这个函数到底在做什么。


你需要cpp/h文件。 - Neil Kirk
C和C++都是编译型语言,如果你有它们编译后的源代码,那么你就可以得到定义,否则就没办法了。 - David Rodríguez - dribeas
@JoshuaUlrich 我的问题似乎与链接的问题完全重复。我应该删除这个问题吗? - steadyfish
我认为这个问题很有用,因为它重新表述了相关问题。因此,答案可能相同,但是在我的看法中,通过重新表述问题来使用C/C++或lapply是有益的。 - kaisernahid
1个回答

2

3
您可以使用 site:https://svn.r-project.org/R/ 和您想要的搜索词直接在 Google 上搜索 svn 存储库。 - thelatemail
@thelatemail,是的,但是相比于谷歌的“站点”搜索,Github存储库更具优势,因为Github允许您指定C/C++文件。在我们的示例中,有超过150个R文件引用lapply,但只有9个引用C/C++。 - kaisernahid
通过在Google中指定“filetype:c”,这很容易完成。 - Joshua Ulrich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接