R CMD检查未记录的函数注册警告

R CMD检查未记录的函数注册警告,c,r,warnings,packages,C,R,Warnings,Packages,我最近试图更新CRAN上的simest包,并意识到我需要注册本机例程。我不知怎的做到了这一点,当我运行R CMD check simest时,我得到一个警告,C函数没有文档。我不知道为什么会这样 #include <R_ext/Rdynload.h> #include "simest.h" static R_NativePrimitiveArgType derivcvxpec_t[] = { INTSXP, REALSXP, REALSXP, REALSXP, REALSX

我最近试图更新CRAN上的simest包,并意识到我需要注册本机例程。我不知怎的做到了这一点,当我运行R CMD check simest时,我得到一个警告,C函数没有文档。我不知道为什么会这样

#include <R_ext/Rdynload.h>
#include "simest.h"

static R_NativePrimitiveArgType derivcvxpec_t[] = {
    INTSXP, REALSXP, REALSXP, REALSXP, REALSXP
};

static R_NativePrimitiveArgType cpen_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   INTSXP, REALSXP, REALSXP, INTSXP, REALSXP
};

static R_NativePrimitiveArgType predcvxpen_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP, REALSXP, REALSXP, REALSXP
};

static R_NativePrimitiveArgType spen_egcv_t[] = {
    INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
    REALSXP, REALSXP, REALSXP, INTSXP, INTSXP, REALSXP
};

static R_NativePrimitiveArgType penta_t[] = {
   INTSXP, REALSXP, REALSXP, REALSXP, REALSXP,
   REALSXP, REALSXP, REALSXP
};

static const R_CMethodDef cMethods[] = {
   {"derivcvxpec", (DL_FUNC) &derivcvxpec, 5, derivcvxpec_t},
   {"cpen", (DL_FUNC) &cpen, 16, cpen_t},
   {"predcvxpen", (DL_FUNC) &predcvxpen, 11, predcvxpen_t},
   {"spen_egcv", (DL_FUNC) &spen_egcv, 11, spen_egcv_t},
   {"penta", (DL_FUNC) &penta, 8, penta_t},
   {NULL, NULL, 0}
};

void R_init_simest(DllInfo *dll)
{
   R_registerRoutines(dll, cMethods, NULL, NULL, NULL);
   R_useDynamicSymbols(dll, FALSE);
}

这些都是C函数。感谢您的帮助。谢谢。

该错误使您似乎没有关于这些功能的任何文档。您是否试图在包中以任何方式记录这些函数?您需要一个帮助页面来描述函数的功能和期望的参数等。您没有误解这个问题。警告不适用于C函数而非R函数的文档。我有R函数的文档。C函数被编写为使用.C调用。它们不适用于软件包的用户。R CMD check对C函数文档给出警告是不常见的。我仍然认为这与您在R代码中引用这些函数的位置有关,而不是与您在此处显示的C代码有关。也许您需要
?suppressForeignCheck
来屏蔽R代码中的那些关键字。
* checking for missing documentation entries ... WARNING
Undocumented code objects:
  'cpen' 'derivcvxpec' 'penta' 'predcvxpen' 'spen_egcv'
All user-level objects in a package should have documentation entries.
See chapter 'Writing R documentation files' in the 'Writing R
Extensions' manual.