我绑定的 Objective C 库中有一些 C 风格的函数,我需要在我的应用程序中访问这些函数。是否可以以任何方式将这些添加到绑定中,以便我可以在我的 C# 应用程序中访问它们?
来自 Cocos2d 的示例:
void ccGLActiveTexture( GLenum textureEnum )
{
#if CC_ENABLE_GL_STATE_CACHE
NSCAssert1( (textureEnum - GL_TEXTURE0) < kCCMaxActiveTexture, @"cocos2d ERROR: Increase kCCMaxActiveTexture to %d!", (textureEnum-GL_TEXTURE0) );
if( (textureEnum - GL_TEXTURE0) != _ccCurrentActiveTexture ) {
_ccCurrentActiveTexture = (textureEnum - GL_TEXTURE0);
glActiveTexture( textureEnum );
}
#else
glActiveTexture( textureEnum );
#endif
}
编辑
链接到标题与我试图导入的功能:http: //www.cocos2d-iphone.org/api-ref/2.0.0/cc_g_l_state_cache_8h_source.html
我在我的 Extras.cs 中试过这个
public partial class CCGLProgram {
[DllImport("__Internal")]
public static extern void ccGLUseProgram( uint program );
public static void CCGLUseProgram(uint test)
{
ccGLUseProgram(test);
}
}
不幸的是,我得到一个未找到入口点的错误。我想我的第一个想法可能是函数被破坏了,但我想既然'extern C'在那里不应该发生?谁能帮我?