169 похожих чатов

Коллеги, никто не подскажет, почему из Rcpp утекает экспорт в

пакет?
Обнаружил после установки из-за подсказок IDE, getNamespaceExports('my_package') выдает примерно такой список
[1] "setRcppClass" "exposeClass"
[3] "prompt" ".__C__C++Field"
[5] "library.dynam.unload" "populate"
[7] "initialize" ".__T__$<-:base"
[9] "sizeof" "cppFunction"
[11] "getRcppVersion" ".__C__C++Function"
[13] "evalCpp" ".__C__C++Constructor"
[15] "loadRcppClass" ".__T__prompt:utils"
[17] ".__C__C++OverloadedMethods" "LdFlags"
[19] "hllrst_run_threads" ".__T__show:methods"
[21] "loadModule" ".__T__[<-:base"
[23] "cpp_object_initializer" ".__T__.DollarNames:utils"
[25] "compileAttributes" ".__T__initialize:methods"
[27] ".__C__C++Object" "system.file"
[29] ".__T__[[<-:base" "sourceCpp"
[31] "cpp_object_dummy" "Rcpp.plugin.maker"
[33] "RcppLdFlags" ".__C__RcppClass"
[35] "Module" ".__T__[:base"
[37] "registerPlugin" "hllrst_random_number"
[39] "loadRcppModules" ".DollarNames"
[41] ".__C__C++Class" ".__T__formals<-:base"
[43] "formals<-" "demangle"
[45] ".__T__$:base" ".__C__Module"
[47] "Rcpp.package.skeleton" "show"
который, естественно, включает и полезные функции.

11 ответов

10 просмотров

Тут по сути все зависимости твоего пакета представлены, в том числе от Rcpp.

⌨️- Автор вопроса
Артём Клевцов
Тут по сути все зависимости твоего пакета представ...

Я понимаю, но проблема в другом. Если я возьму другой пакет, в котором есть несколько CPP функций, собранный через Rcpp и roxygen2 мной же, то там в публичном экспорте собственно то, что я задекларировал, и никакого мусора. Здесь же - в минимальном пакете с буквально двумя экспортируемыми CPP функциями - куча мусора, который видно (на мой субъективный взгляд) быть не должно. Вопрос почему так, я подумал может кто с таким сталкивался и знает в чем дело. Ощущение, что какая-то зависимость прописана неправильно

⌨️
Я понимаю, но проблема в другом. Если я возьму дру...

Что в импортах? Должно быть: importFrom(Rcpp,evalCpp) useDynLib(mypkg, .registration = TRUE)

⌨️
Я понимаю, но проблема в другом. Если я возьму дру...

Это из-за devtools::load_all(). > library(uaparser) > getNamespaceExports("uaparser") [1] "parse_browser" "parse_device_type" "parse_user_agent" [4] "update_regexes" "parse_os" "parse_device" > devtools::load_all(".") Loading uaparser > getNamespaceExports("uaparser") [1] "library.dynam.unload" "system.file" [3] "parse_browser" "parse_device_type" [5] "_uaparser_uap_release" "download.file" [7] "uap_release" "_uaparser_parse_device" [9] "evalCpp" "parse_user_agent" [11] "_uaparser_uap_init" "_uaparser_parse_os" [13] "update_regexes" "parse_os" [15] "parse_device" "_uaparser_parse_user_agent" [17] "_uaparser_parse_browser" "_uaparser_parse_device_type" [19] "uap_init" "onUnload"

⌨️- Автор вопроса
Артём Клевцов
Что в импортах? Должно быть: importFrom(Rcpp,evalC...

# Generated by roxygen2: do not edit by hand importFrom(Rcpp,sourceCpp) useDynLib(hellorust)

⌨️- Автор вопроса
⌨️
load_all нигде не используется

Значит где-то используется. Его RStudio может где-то вызывать. Попробуй поставить пакет через R CMD build/R CMD INSTALL и посмотреть Rscript -e 'getNamespaceExports("mypkg")'.

⌨️- Автор вопроса
Артём Клевцов
Значит где-то используется. Его RStudio может где-...

Ок, спасибо, буду смотреть где этот вызов мог затеряться

⌨️
# Generated by roxygen2: do not edit by hand impo...

У меня только evalCpp импортируется. https://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-package.pdf Пункт 2.8.

⌨️- Автор вопроса
Артём Клевцов
У меня только evalCpp импортируется. https://cran....

Ну у меня в нормальном пакете так же, а тут просто я попытался скрестить нескрещиваемое и получается не очень)

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта