我正在为Linux游戏制作一个Native Unity插件,并且我必须定义C#回调,该回调由我用C编码的本机插件调用。
所以插件扩展名为.so,因为我将仅针对linux编译游戏。
我在网上读到我应该将这些回调注释为__stdcall
,因为存在从我的C库调用的C#回调。详细信息:https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx
但是在UNIX系统下,无法在函数上使用__stdcall
进行编译,并且由于它是Linux的库,因此我无法在Windows上进行编译,因此我在此lib上调用unix函数。
那有什么意义呢?将__stdcall
放在回调中真的有必要吗?
编辑:
也许使用__stdecl
是一样的吗?但这是否有必要为外部回调定义它?