Вы могли бы предположительно вызвать invisible()
из вашего C кода (создавая выражение и оценивая его), но, поскольку весь пользовательский код должен go через функцию R, чтобы добраться до C, почему бы и нет просто вызовите invisible()
на уровне R, например,
myFun <- function(...) {
invisible(.Call(...))
}
В ответ на некоторые комментарии: большинство функций, используемых в R (включая все C функции, соответствующие .Primitive
с, насколько я знать) не являются частью API и не должны вызываться из вашего кода. Безопасно вызывать документированные функции только из руководства Writing R. Extensions.
Несколько пакетов go помимо функций API из-за необходимости в функциональности, которой нет. Это, вероятно, сделает ваш пакет неподходящим для CRAN, если вы не сможете убедить CRAN, что у вас есть очень веская причина для этого, и что вы быстро отреагируете на любые изменения недокументированного внутреннего документа.