New directory C:/d_package/work_source/r_work/convolve, and create convolve.c file
Open R (32bit,64bit error and installation environment)
> setwd (' c:/d_package/work_source/r_work/convolve ')
> System ("R-CMD shlib convolve.c")
Gcc-m32-i "C:/progra~1/r/r-31~1.2/include"-dndebug-i "D:/rcompile/cranpkg/extralibs64/local/include"-o3-wall -std=gnu99-mtune=core2-c Convolve.c-o CONVOLVE.O
Gcc-m32-shared-s-static-libgcc-o convolve.dll tmp.def convolve.o-ld:/rcompile/cranpkg/extralibs64/local/lib/i386- Ld:/rcompile/cranpkg/extralibs64/local/lib-lc:/progra~1/r/r-31~1.2/bin/i386-lr
> # Two files generated Convolve.dll and CONVOLVE.O
> # Convolve.dll used on Windows
> Dyn.load ("Convolve.dll") #导入dll文件
> #调用 Convolve method is the method in Convolve.c convolve
> Conv <-function (A, b) {
+ . C ("Convolve",
+ as.double (a), As.integer (Length (a)),
+ as.double (b), As.integer (length (b)),
+ AB = double (length (a) +length (b)-1)) $ab
+ }
> A=3
> b=4
> Conv (A, B)
[1] 12
> b=6
> Conv (A, B)
[1] 18
R invokes a simple instance of C language