我用shm_opencgo.shm_open在Linux上用3个参数定义
int shm_open(const char *name, int oflag, mode_t mode);
Run Code Online (Sandbox Code Playgroud)
而在OSX(达尔文)上,第3模式标志是可选的.
int shm_open(const char *name, int oflag, ...);
Run Code Online (Sandbox Code Playgroud)
当尝试在OSX上传递模式时,这会产生CGO问题.它抱怨我传递了3个参数,当时只有2个参数.
我该如何解决这个问题?
像往常一样,这个启示在发布到SO后1秒钟.您实际上可以在CGO注释部分声明函数,因此您所要做的就是使用这样的包装器.
/*
#include <stdio.h>
int shm_open2(const char *name, int oflag, mode_t mode) {
return shm_open(name, oflag, mode);
}
*/
import "C"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
575 次 |
| 最近记录: |