用C编写R扩展(用C编写SHMGET崩溃)

用C编写R扩展(用C编写SHMGET崩溃),c,r,compilation,cygwin,C,R,Compilation,Cygwin,我尝试在Windows7环境中创建关于cygwin的共享内存。我把它编译成普通的c程序,一切正常。如果我尝试将该函数作为R扩展调用,shmget函数将崩溃。下一步是使用信号量。如果我解决了这个问题,我希望它也能运行。 是否有任何编译器选项或类似的其他我必须做的事情?也许,我必须在R区把mingw换成cygwin,或者我能做些什么。我真的很沮丧 实际上,我尝试使用以下方法编译扩展: R CMD SHLIB wrappers.c IPC.c -Wall -pthread 这就是问题孩子: _smI

我尝试在Windows7环境中创建关于cygwin的共享内存。我把它编译成普通的c程序,一切正常。如果我尝试将该函数作为R扩展调用,shmget函数将崩溃。下一步是使用信号量。如果我解决了这个问题,我希望它也能运行。 是否有任何编译器选项或类似的其他我必须做的事情?也许,我必须在R区把mingw换成cygwin,或者我能做些什么。我真的很沮丧

实际上,我尝试使用以下方法编译扩展:

R CMD SHLIB wrappers.c IPC.c -Wall -pthread
这就是问题孩子:

_smID = shmget(SHAREDMEMORYID, sizeof(struct sSharedMemory), IPC_CREAT |0666);
我的R版本:

               _                           
platform       x86_64-w64-mingw32          
arch           x86_64                      
os             mingw32                     
system         x86_64, mingw32             
status                                     
major          3                           
minor          1.0                         
year           2014                        
month          04                          
day            10                          
svn rev        65387                       
language       R                           
version.string R version 3.1.0 (2014-04-10)
nickname       Spring Dance   

cygwin是最新的。

没有人知道或有什么提示吗?