2011-08-01 10 views
1

実行時にMACでプロセスアーキテクチャを見つける方法はありますか?実行時のCPUアーキテクチャ

私は、32ビットの場合はsizeof(int) == 4、64ビットの場合はsizeof(int) == 8を使用しています。エレガントな方法はありますか?

+0

Mach-O Architectureそれが重要ならば、私は思ったんだけど。あなたはどこにでもデータを送っていますか? –

+2

OS Xをターゲットにしているだけの場合、 'sizeof'演算子に依存することなくクエリ可能な機能があると確信しています(' sizeof'は*コンパイル時定数です。その場合、より適切なCPP定義があると思います) –

+0

複数のアーキテクチャバイナリを使用しているとしますか? –

答えて

0

使用@property(readonly) NSInteger executableArchitectureと定数NSBundle

NSInteger architecture = [[NSRunningApplication currentApplication] executableArchitecture]; 
if(architecture == NSBundleExecutableArchitectureX86_64) { 
    NSLog(@"running on 64bits"); 
else if (architecture == NSBundleExecutableArchitectureI386) { 
    NSLog(@"running on 32bits"); 
} else { 
    NSLog(@"running somewhere else"); 
} 
関連する問題