美文网首页
Unity使用如何使用C++库

Unity使用如何使用C++库

作者: LazyBoy | 来源:发表于2023-06-07 15:56 被阅读0次

    要想unity调用c++库,那么就需要先创建一个c++的工程,其实官方有详细的说明,可以阅读这个文档https://learn.microsoft.com/en-us/cpp/build/walkthrough-creating-and-using-a-dynamic-link-library-cpp?view=msvc-170

    重点划线

    extern "C" MATHLIBRARY_API 这个前缀是将函数导出给C#,这样C#中可以通过DllImport来调用

    • 那么什么是extern "C" 呢

    原因是C++编译的时候会对函数改名,这个标记就是说明要用C的编译方式来编译,不要改名,因为C++中的重载在编译代码之后会修改名字,比如函数add(int a,int b)在编译后名字就是add_int_int了,所以如果不标记的话,dllImport就找不到这个函数

    Tips: 静态函数是不支持extern "C" 的

    当然这里提一句,如果你代码是用c写的,就不需要extern "C" 前缀了,只需要加extern就可以了

    • 如何在Unity中进行Import呢?

    代码直接贴一下吧,dllImport你导出的那个文件名字,对了,dll在unity中的导入平台要设置好,

       [DllImport("dllfileName.dll")]
        public static extern int testCall();
    

    编译Android平台
    https://developer.android.com/studio/projects/add-native-code?hl=zh-cn

    安卓下的导出依然是添加extern C
    使用ndk编译不同平台的库
    注意安卓dllimport的是so的文件名,不带扩展名哦

       [DllImport("libname")]
        public static extern int testCall();
    

    相关文章

      网友评论

          本文标题:Unity使用如何使用C++库

          本文链接:https://www.haomeiwen.com/subject/hnanedtx.html