Şüphe duyduğunuzda montajcı çıktısını kontrol edin. Örneğin küçük, minimal bir pasaj yazın, yani bunun gibi
#import <Cocoa/Cocoa.h>
void test() {
CGRect r = CGRectMake(0.0f, 0.0f, 320.0f, 50.0f);
NSLog(@"%f", r.size.width);
}
Daha sonra bunu -S
seçeneği ile assembler'a derleyin .
gcc -S test.m
Assembler çıktısını test.s
dosyaya kaydedin ve .0f
sabitlerden kaldırın ve derleme komutunu tekrarlayın. Sonra bunu diff
yeni test.s
ve öncekinden. Bunun gerçek farklılıklar olup olmadığını göstermesi gerektiğini düşünün. Bence pek çok kişinin derleyicinin ne yaptığını düşündüklerine dair bir vizyonu var, ancak günün sonunda herhangi bir teoriyi nasıl doğrulayacağını bilmek gerekiyor.