1

libx264 を renderscript に変換しています。これは、少し大きなプロジェクトを renderscript に移植するのにどれだけの作業が必要かを確認するためです。renderscript の難点の 1 つは、自動的に Java インターフェイスを取得しないように、すべてを static として宣言する必要があることです。また、この自動 Java インターフェイスは、ポインタ、マルチ次元配列などを処理できません。したがって、libx264 では、すべての関数とグローバル変数を static として宣言する必要があります。また、それを制御するための呼び出し関数もいくつかあります。

私の問題は、すべてが静的であると宣言されているため、すべてのコードを 1 つのファイル スコープに含める必要があることです。すべての C コード ファイルを 1 つにインクルードしてコンパイルすることから始めました。libx264 自体に異なる前処理マクロ定義を含む C ファイルが含まれていなければ、これは非常に簡単に機能しました。もちろん、これを手動で処理することもできますが、ツールを使用すると簡単になります。

Cプロジェクトを取り、それを1つのCファイルに前処理/マージし、再宣言、競合する宣言などを管理できるツールを誰かが知っているかどうか尋ねています.

そして、ヒープの割り当てが難しい問題になると思いました...

4

1 に答える 1

0

これを行うツール、CIL を見つけました。 http://sourceforge.net/projects/cil http://kerneis.github.com/cil/doc/html/cil/merger.html

/ハラルド

于 2012-04-10T07:57:58.897 に答える