4

我想分享我的 R 包,但保留源代码直到文章发表。如果我使用 编译包R CMD INSTALL --build,最终用户有什么方法可以阅读 C 源代码吗?

根据R News 2006-4第 44 页,

为了访问已编译代码的源代码(即 C、C++ 或 Fortran),仅安装 R 的二进制版本或提供的包是不够的。

我会对这些知识感到满意(实际上,我更愿意发布源代码),但我需要减轻我的合作者的恐惧。

我的主要问题是确认:如果我分发由 创建的二进制文件R CMD INSTALL --build,C 源代码会无法访问吗?


更新:我不太清楚为什么这个问题会收到如此多的反对票(此时为 4 票)。否决表示“这个问题没有显示出任何研究工作;它不清楚或没有用”。我只是询问原生 R 功能,而不是试图宣传任何邪恶的意图。

4

2 回答 2

2

如果 .c 源文件不在分布式存档文件中(Linux 为 .tar.gz,Windows 可能为 .zip),那么不,您无法获取源。我只是用一个骨架包和一个 foo.c 文件做了一个快速测试,它不适合我,只是一个编译的 foo.so 文件。

当然,除非您使用过 Rcpp 并将 C 代码放入内联 R 函数中。

于 2013-07-19T06:31:15.827 回答
1

如果您只有二进制文件输出,则源代码无法访问。获得一些想法的唯一方法是拆卸。当然你所有的头文件也应该被编译。

于 2013-07-18T21:57:13.687 回答