- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 Visual Studio 中,我们可以使用“附加到进程”来调试 DLL。
有什么方法可以在 Eclipse/StatET 中调试 R 包的 C/C++ 代码(例如 this example of debugging external code linked to Scilab 之类的东西)?
最佳答案
以下步骤适用于 Eclipse-CDT C/C++ (LUNA)。
$./configure --enable-R-shlib --with-valgrind-instrumentation=2 --with-system-valgrind-headers --CFLAGS='-g -O0 -fPIC' FFLAGS='-g -O0 -fPIC' CXXFLAGS='-g -O0 -fPIC' FCFLAGS='-g -O0 -fPIC'
$make
$sudo make install
这将在 /usr/local/lib/R
下安装 R。
注意:需要 -g 和 -O 来添加调试符号并确保编译优化不会妨碍调试。
为带有 C 源代码的 R 包设置正确的目录结构。使用 makefile 而不是依赖 Eclipse-StatET 来构建项目。使设置更容易移植到 Windows。
R CMD install 在命令行或使用 Makefile 将包安装到用户的本地 R 库。
在 Eclipse (Luna) 下,在 C/C++ 应用程序下创建一个“新调试配置”。
在“主要”标签下:
一个。选择一个 C/C++ 应用程序:
/usr/local/lib/R/bin/exec/R
b. Project 可能指向 R-package 项目。
c。勾选“将进程输入和输出连接到终端”。
--slave --vanilla --no-save
一个。 LD_LIBRARY_PATH:/use/local/lib/R/lib
b. R_HOME/usr/local/lib/R选择“将环境附加到 native 环境”
一个。选择 GDB 调试器 gdb
b.如果“GDB 命令集”未作为选项显示,请单击最底部的“选择其他...”。选择“旧版创建流程启动器”。这样做现在将显示选择 GDB 命令集的选项: Pick Standard with protocol mi
。
一个。使用 R 源添加 R 目录的绝对路径(可选)~/Downloads/R
b.添加包 src 目录和任何其他依赖库的绝对路径。
关于c++ - 如何在 Eclipse 中调试 R 包(使用 C 和 C++ 代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615853/
我是一名优秀的程序员,十分优秀!