良い質問。どこにも文書化されていないようです。オープンソースのおかげで、しかし、答えはotoolsのソースコードで利用可能だったので、より多くの情報が必要な場合はそこを見ることができます。
このフィールドは、CPUの機能ビット(つまりcpusubtype & CPU_SUBTYPE_MASK
)を表します。したがって、実際にはcpusubtypeフィールドのサブセットであり、その情報をより簡単に利用できるようにするためだと思います。これはotoolsプログラマーが入れたものであり、Mach-Oヘッダーの一部ではありません。
キャップ列が異なると、リンクエラーが発生しますか?
正確に何をリンクして、ここであなたの質問を得るかどうかわかりませんか?2つのライブラリを異なるプロセッサ用にコンパイルし(したがって、おそらく異なる「caps」フィールドを使用して)、それらをリンクしようとすると、明らかに問題になる可能性があります。ただし、その点では「cputype」フィールドにもっと関心があります。x86コードをARMコードにリンクしている場合(「caps」フィールドよりもそうだと思います)、おそらくヒントが得られます。
一般的に、あなたの特定の状況がそれを要求しない限り、私は誰もドキュメントで言及することさえ気にしない分野にあまり集中しません。