2012-04-20 9 views
2

Apple iOS開発者ガイドを読んでいるときに、ブロック(GCDで使用する場合)の使用について少し説明します。 Objective-Cオブジェクトに「コードスニッピット」を渡し、他のスレッドに渡してそこで実行できるようにする必要があります。これをウイルスやその他に非常に脆弱なものにするのではないでしょうか? (データ実行)。または、私はここにいくつかのポイントを逃している?Objective-Cブロックとデータ実行

答えて

3

いいえ - この「コードスニペット」は、関数内で宣言されたコンパイル済みの非公開の隠し関数と考えることができます(メソッド...)。 IOW、コンパイルされた関数と同じくらい危険です。

3

^blocksを使用しても、コードはまだプリコンパイルされています。 「弱くリンクされた」目的のCのものの残りの部分は、それほど脆弱ではないと私は言います。

^blockは、コンパイラ/プリコンパイラの段階でさらに機能します。私は結果のバイナリは、(セキュリティの観点から)ブロックなしで大きく異なっていないと言います。

+0

説明ありがとうございます! – Nightwish1986

関連する問題