rcpp - 将 Rcpp 从 1.0.6 更新到 1.0.7 后,Rcpp 代码崩溃
问题描述
我在 Rcpp 中使用自写模型,在使用 Rcpp 1.0.6 或 1.0.5 时效果很好。但是在更新到 Rcpp 1.0.7 后,模型运行在执行 R 函数以启动模型后立即崩溃。(但是,使用 sourceCpp() 进行编译不会出现任何错误或警告。)
Rcpp 中的代码组织如下:有几个用不同的 c++ 文件编写的函数,这些函数与头文件一起加载到我的 runModel.cpp 文件中,该文件定义了导出到 R 以运行代码的函数。
此函数的使用方式与此类似 runModel(DateVector SimPeriod, List ModelInput, NumericVector Settings)。也许值得注意的是,不同 c++ 文件中的函数使用相同的变量并且有时会更改它们,所以我还必须编写类似 initModel.cpp 的内容和一个对应的头文件,该文件在几乎每个 c++ 文件中都导入。
我已经在查看https://cran.r-project.org/web/packages/Rcpp/news.html以将 1.0.7 中所做的更改与我的问题联系起来。但不幸的是,我不知道坠机的原因可能是什么。我很欣赏对此的每一条评论。
很抱歉,我无法给出可重现的示例,但模型代码太复杂而无法创建(尤其是因为我不知道错误隐藏在哪里。)
解决方案
推荐阅读
- c# - ML.NET MakePredictionFunction 动态类型?
- php - Laravel Valet 502 Bad Gate Way nginx/1.15.7
- r - 创建虚拟变量 (n-1) 类别
- angular - Angular 6 guard/canActivate only main route not secondary outlet
- google-chrome-extension - Chrome 扩展跨多个浏览器实例管理后台状态
- python - ModuleNotFoundError:尽管本地更改,但在推送到 Heroku 时 importlib
- haskell - 如何在 Haskell 中工作的返回类型上获得“不可预测的”重载?
- javascript - amcharts 4 中的 24 小时雷达图
- google-maps - 位置不好 Google Maps Xamarin Forms(大洋中部)
- security - 在 Win 8.1 和 Win 10 下禁用虚拟智能卡的 PIN 缓存