どのように@encodeコンパイラディレクティブは、Objective-Cで実装されていますか?
-
20-09-2019 - |
質問
誰でも@encodeがインスタンス化のためのクラス記述子として使用するタイプの定義にデータ型指定されたオブジェクトに存在する要素、構造体、またはデータ型を抽出するためにどのように機能するかを説明できますか?
それとも新しいプリプロセッサディレクティブの実装についての学習のためのいくつかのリソースへのポインタ?
解決 2
元の質問の言い回しは不明であったかもしれないと私はプリプロセッサを伴う可能な実装の私の言及は、会話はコンパイラがどのように動作するかの微妙な点ではなく、意図した質問に向かってターンさせていることだと思います。
私ははるかに明確に私は学ぶことをしようとしているものにようであると考えている、この質問を参照してください。 どのように私は似たような実装しANSI CでのObjective-C @encode()コンパイラディレクティブの?の
他のヒント
@encode
ディレクティブは提供タイプを解析し、そのタイプに基づいて、文字列定数を生成します。すべてが単一文字エンコーディングを有する(符号付きおよび符号なしのバージョンを含む)全てのCプリミティブ型とObjective-Cのid
とSEL
タイプの符号化は、これらは<objc/runtime.h>
に見出すことができます。例えばstruct
sおよびアレイなどのより複雑なタイプは、より大きな符号化を有する。
詳しい情報は Objective-Cのランタイムで提供されプログラミングガイド[PDF] します。
所属していません StackOverflow