1

Cocoa 用に作成されたライブラリをコンパイルしようとしています。関数 marg_setValue() を探すまでは問題ありません。char の前に構文エラーがあると表示されます

marg_setValue(argumentList,argumentOffset,char,(char)lua_toboolean(state,luaArgument));

( (char) ではなく、3 番目の引数について話している)

LuaObjectiveCBridge を iPhone に移植しようとしています。ランタイムまたはファウンデーションのいずれかを使用する 2 つの選択肢があります。基盤にいくつかの問題があることを発見したので、ランタイムを試しています。しかし、コンパイラは協力していません。

4

2 に答える 2

1

marg_XXXマクロを削除できるかどうかを確認します。

  • それらは推奨されておらず、信頼できるものとは見なされていません。
  • marg_listobjc_msgSendvは、最新のランタイムには存在しないものと一緒に使用されます。

NSInvocationを使用することをお勧めします。使い方はとても簡単で、ブリッジとしては十分強力です。完全性については、このエントリを確認してください。

于 2010-05-13T19:19:04.483 に答える
0

最新の Objective-C ABI/API は、Cocoa Touch で利用できます。32 ビット デスクトップ ランタイムの従来の機能 (つまり、非常に壊れやすいもの) の一部が欠けています。

marg_setValue() とその仲間は、Objective-C 2.0 ではサポートされていないレガシー ランタイムの一部です。それは、常に壊れていました。とにかく壊れていました。あなたは多くを逃していません。

本当の質問は次のとおりです。あなたは何をしようとしていますか?

于 2010-05-12T23:46:16.897 に答える