看起来我可能需要开始进行一些跨平台项目,其中部分需要使用C或C++(尚未决定因此问题涉及两者)。我将主要处理基于文本的内容和字符串。
那个C/C++将具有可从更高级别的平台相关代码调用的API。
我的问题是:在声明公共接口时,使用哪种类型最为可取?是否有任何推荐的标准技术?有需要避免的事情吗?
我对编写C或C++代码的经验很少,甚至那也只是在Windows上,所以根本没有跨平台的经验。因此,我真正寻找的是能够让我走上正确道路并避免做些愚蠢的事情,这些事情注定会带来很多痛苦。
编辑1:为了更好地说明预期的使用情况。
Objective C通过NSString和其他友元函数在iPhone/iPad/Mac上使用API。API可以静态链接,因此不需要担心.so .dll问题。
Java通过Android和其他Java平台上的JNI使用
使用C++/CLI时,.NET通过托管的C#代码或本地静态链接的p/invoke使用。
在这种情况下,有一些关于如何/何时使用lua的想法。不知道这是否对任何事情有影响。