我想知道获取 R 中任何辅助函数(以区别于原始/内部函数)的 C/C++ 源代码的正确方法是什么。\n相关问题在这里、这里、这里和这里:
\n\n我的不同,所以我在问题中使用了“次要”。\n例如,R控制台中的read.table()函数我得到:
\n\n>?read.table\n\nread.table package:utils R Documentation\n\nData Input\n\nDescription:\n\n Reads a file in table format and creates a data frame from it,\n with cases corresponding to lines and variables to fields in the\n file.\n\nUsage:\n read.table(file, header = FALSE, sep = "", quote = "\\"\'",\n ......\nRun Code Online (Sandbox Code Playgroud)\n\n或者
\n\n> getAnywhere(read.table)\nA single object matching \xe2\x80\x98read.table\xe2\x80\x99 was found\nIt was found in the following places\n package:utils\n namespace:utils\nwith value\n\nfunction (file, header = FALSE, sep = "", quote = "\\"\'", dec = ".", \n\n ......\n\n attr(data, "row.names") <- row.names\n data\n}\n<bytecode: 0x560ff88edd40>\n<environment: namespace:utils>\nRun Code Online (Sandbox Code Playgroud)\n\n搜索我得到的网站:
\n\nhttps://svn.r-project.org/R/trunk/src/library/utils/src/utils.c
\n\nhttps://svn.r-project.org/R/trunk/src/library/utils/src/utils.h
\n\n如何获取read.table函数的C/C++源代码而不是R代码,如果这合理的话?
\nhttps://github.com/wch/r-source上的可搜索 R 源代码对此非常有用:
read.table 定义.Internal(scan(file, what, nmax, sep, dec, quote, skip, nlines,
[...]
Run Code Online (Sandbox Code Playgroud)scan映射 到do_scanread.table所以你在这里:可以在 中找到 的 底层 C 实现src/main/scan.c,从函数 开始do_scan。