【问题标题】:How to see source code for functions written in C/C++? [duplicate]如何查看用 C/C++ 编写的函数的源代码? [复制]
【发布时间】:2013-08-21 02:41:37
【问题描述】:

一般来说,用 R 编写的函数的源代码可以通过在 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 文件
  • C 和 C++ 都是编译语言,如果你有编译它的源代码,那么你可以得到定义,否则你就不走运了。
  • @JoshuaUlrich 我的问题似乎与链接的问题完全相同。我应该删除这个问题吗?
  • 我认为这个问题很有用,因为它重新表述了链接的问题。因此,答案可能相同,但在我看来,将问题改写为 C/C++ 或 lapply 是有益的。

标签: c++ c r


【解决方案1】:

您可以在 R 源存储库的镜像中搜索 lapply 或任何其他功能: https://github.com/wch/r-source

然后从左侧的语言中选择 C/C++ 进入此页面: https://github.com/wch/r-source/search?l=c&q=lapply&ref=cmdform

【讨论】:

  • 您也可以使用site:https://svn.r-project.org/R/ 和您想要的条件直接在 Google 上搜索 svn 存储库。
  • @thelatemail,是的,但是 github 存储库优于 Google 中的“站点”搜索,因为 github 也允许您指定 C/C++ 文件。在我们的示例中,有 150 多个 R 文件引用了 lapply,但只有 9 个引用了 C/C++。
  • 这很容易通过 Google 指定 filetype:c 来完成。
猜你喜欢
  • 2013-04-20
  • 2013-11-17
  • 2022-01-10
相关资源
最近更新 更多