- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想了解导致此程序崩溃的原因。我至少看过三个相关问题here , here和 here ,但我还没有找到解决该问题的明确答案,因此这里有一些示例代码来重现该问题。
R代码:
library(Rcpp)
Rcpp::sourceCpp("myfunction.cpp")
data1 <- rnorm(2000)
data2 <- rnorm(2000)
mydata <- matrix(cbind(data1, data2), nrow=2000, ncol=2)
values <- log(1:6)
for (i in 1:1000) {
myfunction(values, mydata)
}
C++代码:
#include "Rcpp.h"
#include "math.h"
using namespace Rcpp;
// [[Rcpp::export]]
double myfunction(const NumericVector& theta, const NumericMatrix& data) {
double ans = 0;
int theta_size = theta.length();
NumericVector mytheta(theta_size);
int data_size = data.nrow();
NumericMatrix mat(data_size, 2);
for (int i = 0; i < theta_size; i++) {
mytheta(i) = exp(theta(i));
}
if ( true ) { // Flow control
for (int i = 0; i < data_size; i++) {
mat(i, 1) = pow(data(i-1, 1), 2) + mytheta(1)*mat(i-1, 1);
ans = ans + 1;
}
for (int i = 0; i < data_size; i++) {
mat(i, 2) = pow(data(i-1, 2), 2) + mytheta(4)*mat(i-1, 2);
ans = ans + 1;
}
}
Rcout << "Ok!\n";
return ans;
}
一切正常至少第一次我使用 myfunction()
,但在 R for 循环中调用时它会崩溃。我重新安装了 R、Rtools 和 RStudio(在 Windows 上)以查看安装是否有问题,但我仍然面临同样的问题。
这使得 R 和 C++ 之间的无缝集成不像我最初想象的那样无缝,而且由于我看到我不是唯一一个面临这个问题的人,看起来我们都在做一些明显的错误在开始使用 Rcpp 时(至少在 RStudio 上),但它是什么?
从本质上讲,我想确定我没有遗漏一些非常明显的东西,因为到目前为止我看到的所有答案似乎都暗示情况确实如此。
注意:这是我一直在用 Rcpp 测试的较长函数的缩短版本,原始版本在我第一次调用它时似乎运行良好几次 ,但它最终也会崩溃。
更新:删除了 rm(),糟糕。
最佳答案
for (int i = 0; i < data_size; i++) {
mat(i, 1) = pow(data(i-1, 1), 2) + mytheta(1)*mat(i-1, 1);
ans = ans + 1;
}
当 i == 0
时,您尝试访问 data(-1, 1)
并且事情从那里变得梨形。事实上,它在您第一次运行它时没有崩溃,这仅意味着您很幸运(或不幸,因为它引诱您产生一种错误的自信感)。
关于c++ - RStudio 与 Rcpp 不断崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50143425/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!