私はゲームで取り組んでいます。私が使用している健全な資産の使用許諾契約書の要件の1つは、それらをエンドユーザーがアクセスできない方法で配布することです。だから、私はそれらをフラットファイルに集約し、それらを暗号化することを考えています。問題は、私が使用しているサウンドライブラリ(Hekkus Sound System)が 'char *'ファイルパスのみを受け入れ、ファイルの読み込みを内部的に処理することです。だから、もし私がそれを使い続ければ、私は暗号化を処理するためにstdioファイル関数をオーバーライドするか、何をするかを決める必要があります。これは可能だが、それは私を心配している。ウェブを見る私は心配しているプラットフォーム(Win32、Android、iOS)でこれをやっている不思議な不満の問題に遭遇している人々を見ている。cライブラリファイル関数をオーバーライドしますか?
これに対応するクロスプラットフォームライブラリが存在しますか。あなたが推奨するより良いアプローチがありますか?
デコードして、デコードできないファイルを/ tmpファイルに書き込んでから開き、開いている? Hekkus内のファイル記述子は、開いた後でも有効なままです。 (編集:以下のRAMディスクのアイデアは良いと思われます) –
"アクセス不可"を定義してください。ユーザーのシステムでサウンドを再生している場合、それは私にはかなりアクセス可能なように聞こえます。とにかく、ヘクサス・サウンド・システム(Hekkus Sound System)に関して、著者のウェブサイトには、興味を持った人たちの情報源があります。したがって、最も簡単なのはおそらくソースコードを入手してパッチを当てることでしょう。それはサウンドライブラリがそれにデータを取得する方法を抽象化していない奇妙です。 – n0rd
Cで予約識別子を再定義しないでください。定義されていない動作が呼び出されます。 [...] [...] プログラムは、標準の ヘッダーを使用するのではなく、ライブラリ関数自体を宣言しようとします。これは、次の条件では定義されていません。(Annex J、J.2節)宣言には外部リンケージはありません(7.1.2)。 7.1.4(7.1.3)で許可されている以外の予約済み識別子を宣言または定義しています。** –