Сбой кода Rcpp R (RStudio) – невозможно выполнить отладку из-за завершения сеансаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сбой кода Rcpp R (RStudio) – невозможно выполнить отладку из-за завершения сеанса

Сообщение Anonymous »

Я (хотя и кропотливо) с помощью некоторых программ кодирования переписал одну из своих функций R на C++, чтобы проверить, есть ли какое-либо заметное улучшение в скорости и распределении памяти. После отладки некоторых первоначальных проблем проблема, с которой я сейчас сталкиваюсь, заключается в том, что RStudio обнаруживает фатальную ошибку и происходит сбой при запуске функции-обертки (run_in_par_cpp3) ниже:
Rcpp::sourceCpp("optimize_cpp3.cpp")

results R Session Aborted
> R encountered a fatal error. The session was terminated.

Мне непонятно, почему это происходит, учитывая мои практически несуществующие знания C++ и отсутствие другого сообщения в RStudio, кроме уведомления о фатальной ошибке. Также было трудно отличить подобные сообщения на SO, учитывая уникальность каждого ранее заданного вопроса (ов).
Изначально я думал, что это ошибка памяти, однако даже с этим очень маленьким воспроизводимым примером я получаю фатальную ошибку. Я включил весь код, необходимый для воспроизведения примера того, с чем я работаю. Что я могу попробовать дальше?
Код Reprex R с необходимыми данными для воспроизведения:
wide_data second;
}
}
scores = {current_sum, i};
}

// find topn indices
if (topn_order) {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreDesc);
} else {
std::partial_sort(scores.begin(), scores.begin() + topn, scores.end(), compareScoreAsc);
}

// fill result vectors using the best indices found previously
for(int k = 0; k < topn; ++k) {
int best_idx = scores[k].index;

out_date[out_idx] = date_of_interest;
out_actual[out_idx] = actuals[best_idx];
out_won[out_idx] = won[best_idx];
out_perc[out_idx] = perc[best_idx];
out_buyin[out_idx] = buyin[best_idx];
out_iter[out_idx] = iter_name;

out_idx++;
}
}

// return df with only required variables
return DataFrame::create(
Named("Date") = out_date,
Named("Actual") = out_actual,
Named("amtWon") = out_won,
Named("perc_rk") = out_perc,
Named("buyin") = out_buyin,
Named("iters") = out_iter,
Named("grid_row") = out_grid_row
);
}

Код-оболочка для запуска в R:
run_in_par_cpp3

Подробнее здесь: https://stackoverflow.com/questions/798 ... ermination
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»