LuaSocketsを介してネットワーク(500KB)から大きなバイナリデータを取得するアプリがあります。(この部分はまだ実装していません)。私が知っていることに基づいて、このデータはある種の文字列、テーブル、または配列に格納されます。
このデータの処理を複雑にする必要があります。これには、既存の実績のあるANSI-C Libがあり、データをCに渡す必要があります。私が見たアプローチでは、通常、コールスタックでデータを渡しますが、これは機能しません。データサイズのせいで私にとっては。
既存のANSI-Clibは、データとサイズへのポインターを想定しています。このAPIを新しいAPIでラップすることもできます。この場合、データをバイト単位で除外し、最後に全体のサイズが確立されたら、実際のAPIを呼び出します。ただし、これは、LuaからC関数を大量に呼び出すことを意味し、パフォーマンスが必要なため、好ましくありません。 。
この大きなデータをCに渡す最良の方法は何ですか?(ファイルへの書き込みとファイル名の受け渡しを検討しましたが、これは好ましくありません。ダイレクトメモリパスが本当に必要です)