Jen*_*nix 3 c++ android arm calling-convention stdcall
我为我的Unity3d应用程序用C++创建了一些插件文件.到目前为止,应用程序只是一个简单的原型,所以我只在我的桌面上测试编译为Windows的DLL库.今天我将这些文件重新编译为.so(共享对象)for Android(arm和x86)并收到警告消息.
警告:为此目标忽略调用约定'__stdcall'[-Wignored-attributes]
1.这意味着所有函数都编译为__cdecl?
2.我不能在.so库中指定调用约定吗?
我用__cdecl替换了__stdcall,但它也发生了一条警告消息.
这两者都是用于IA32非标准历史微软行李(他们实际上是不可移植的,符合标准的扩展C和C++,微软的编译器和GCC互操作性实现),为此*NIX世界上有 - 永不有需要.
几乎所有您将遇到的ARM系统(以及所有Android系统),调用约定都由ARM过程调用标准决定.毫不奇怪,没有相同的ARM,因为没有必要.
您最好的做法是使用空宏来消除它们.
#define __cdecl
#define __stdcall
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1773 次 |
| 最近记录: |