我想分享我的R包,但保留源代码直到发表文章。如果我使用R CMD INSTALL --build
编译一个包,最终用户有没有办法读取C源代码?
根据R News 2006-4的第44页,
为了访问已编译代码的源代码 (即C,C ++或Fortran),它是不够的 R的二进制版本或贡献包 安装。
我对这些知识感到满意(事实上,我更愿意发布消息来源),但我需要减轻合作者的恐惧。
我的主要问题是确认:如果我分发由R CMD INSTALL --build
创建的二进制文件,C源代码是否无法访问?
更新:我不清楚为什么这个问题已经收到如此多的下来票数(此时为4票)。 downvote表示“这个问题没有显示任何研究工作;它不清楚或没有用”。我只询问本机R功能,而不是试图宣传任何邪恶的意图。
答案 0 :(得分:2)
如果.c源文件不在分布式存档文件中(适用于Linux的.tar.gz,也许适用于Windows的.zip),那么不能,您无法获取源代码。我只是用一个骨架包和一个foo.c文件做了一个快速测试,它不适合我,只是一个编译好的foo.so文件。
当然,除非您使用过Rcpp并将C代码放入内联R函数中。
答案 1 :(得分:1)
如果您只有二进制文件输出,则源代码无法访问。获得一些想法的唯一方法是拆卸。当然,你的所有头文件也应该被编译。