Sadece gcc (g ++) ve compilerflags -msse ve -msse2 ile oynuyorum. Ben şu ifadelere derlemek zamanC/C++: -msse ve -msse2 Bayrakların ikili dosyalar üzerinde herhangi bir etkisi yok mu?
#include <iostream>
int main(int argc, char **argv) {
float a = 12558.5688;
float b = 6.5585;
float result = 0.0;
result = a * b;
std::cout << "Result: " << result << std::endl;
return 0;
}
:
/usr/local/bin/g++-4.9 -W -msse main.cpp -o testsse
ve
/usr/local/bin/g++-4.9 -W -msse2 main.cpp -o testsse2
çıktı dosyaları eşit ikili I benziyor küçük bir test programı var. Ancak SMID bayrakları nedeniyle aynı olmadıklarını tahmin ettim.
Benim sorum şu ki, bu karşılaştırıcı bayrakların ikili dosya üzerinde herhangi bir etkisi yok mu? Bunu OS X 10.10.3 ve Fedora 21.
'da denedim. Yardımlarınız için teşekkürler.
Tür çok temel kayan nokta matematik katılır Kodunuzda
Fabian
-msse ve -msse2, x86_64 işlemcilerinde varsayılan olarak etkindir. Eğer böyle bir işlemci üzerinde çalışıyorsanız, o zaman bunların hiçbir etkisi olmayacaktır. – IanPudney
Zaten burada yapacak herhangi bir matematik yok, sadece bir dize ve sabit bir baskı yapıyorsunuz – harold
Talimatlardan herhangi birinin kullanılıp kullanılmadığını görmek için oluşturulan birime bakabilirsiniz. –