BILGI: Windows, kayan nokta hesaplamaları işleme nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 102555 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Tüm Microsoft Windows platformları Win32 uygulamaları, ortak bir kayan nokta ortamı sağlar, ancak, aygıt sürücüleri için destek ve Win16, taşınabilir işletim sistemi arabirimi (POSIX), MS-DOS ve OS/2 tabanlı uygulamalar için destek de değişir.

Bu makalede nasıl bu platformların her uygulama ve aygıt sürücüleri için kayan nokta desteği sağlar.

Daha fazla bilgi

Bu bölümde, ilk Windows NT, Windows 2000 ve onun ardılları kayan nokta işlevlerini açıklar ve aynı Windows 95, Windows 98, Windows 98 ikinci sürüm ve Windows Millennium Edition (Me) tabanlı sistemlerde açıklar. Her grubun üyeleri benzer kayan nokta birbirlerine desteği, ancak iki gruba temel bir mimari farklılıklar nedeniyle birbirinden farklıdır.

Windows NT ve kendi ardılları

Win32 uygulamaları

Her iş parçacığı bir Win32 uygulaması, genel amaçlı yazmaçların ve kayan nokta kayıtları içeren kendi yürütme durumu vardır. Bu nedenle, kayan nokta yürütme ve özel durum işleme başına iş parçacığı için ayrı ayrı denetlenir. Bu tek tek iş parçacığı davranış kayan noktalı işlemci özel Yuvarlama Duyarlığı denetimi veya özel durum işleme kullanmak üzere ayarlamak için bir işlemin izin verir.

Kayan nokta özel durumları (SEH) düzeneğini Win32 çekirdek yerleşik işleme Win32 yapılandırılmış özel durum olarak ele alınır. Bir iş parçacığı bir kayan nokta özel durumu neden olduğunda özel durum işlenecek iş parçacığı tarafından kaydedilen bir özel durum işleyici SEH mekanizması arar. Iş parçacığı özel durum işleme, sahip işlem kapatıldı.

Windows NT ve kendi ardılları Win32 uygulamaları için yerleşik kayan nokta desteği olmayan bile ıntel x 86 işlemcilerde kayan nokta türü tam destek sağlar. Öykünme, kayan nokta donanımı olmayan bilgisayarlar için Win32 çekirdek tarafından sağlanır. Bu nedenle, derleyiciler kendi kayan nokta öykünmesi sağlamak zorunda değildir.

Dil çalışma zamanı kitaplıkları veya kayan nokta özel durum işleyicileri varsayılan sağlayan çal??ma zaman? sistemleri olabilir. Örneğin, Microsoft Visual C++ çalışma zamanı kitaplığı varsayılan kayan nokta özel durumu işlemeyi sağlar ve _controlfp belirleme ve kayan nokta donanım Yuvarlama Duyarlığı denetim ve özel durum davranış işleme ayarlama gibi işlevleri içerir.

Win16 uygulamalar

Win16 uygulamalar genellikle, kayan nokta yönergeleri ve 16 bitlik kayan nokta öykünücüsü, WIN87EM çağrılarını içeren düzeltme kayıtlarında, nesne kodu için derlenir. Bilgisayarın işlemcisi kayan nokta yönergeleri destekliyorsa veya bir işlemci varsa, yükleyiciyi düzeltme kayan nokta yönergeleri için çözümler ve yönergeleri yürütülür. Kayan nokta donanımı algıladı, yükleyiciyi düzeltme WIN87EM çağrıları çözümler ve öykünücüsü yürütülür.

WIN87EM uygulamaları yönetip kayan nokta yönergeleri müdahale; yalnızca, açıkça çağrıldığında çalıştırır. Bu nedenle, Win16 uygulamalara yürütülebilir dosyanın düzeltme kayıtları yerleştirmek için bu linker söyleyecektir öykünmesi, desteklemek üzere derlenir emin olun.

RISC tabanlı bilgisayarlardaki Windows NT'DE Windows NT'NIN ıntel x 86 işlemci öykünücüsü kod Win16 uygulamaları çalıştırmak için kullanın. Windows NT 3.5 ve Windows NT 3.51 80286 ve 80287 öykünücüsünü içerir; Windows NT 4. 0'ı bir i486 öykünücüsü içerir. Win16 uygulamaları, ıntel kayan nokta coprocessors gibi varsa her zaman çalıştırın. Bu nedenle, WIN87EM rısc TABANLı bilgisayarlarda kayan nokta öykünmesi sağlamaz.

Aygıt sürücüleri

IRQL DISPATCH_LEVEL eşit veya bundan küçük olan, ancak arayanın kayan nokta içeriği değişmez, işlemcinin kayan nokta durumu açıkça korumalıdır, çekirdek modu sürücüler Windows 2000 ve onun ardılları kayan nokta yönergeleri kullanabilirsiniz. Sürücü işlevlerin herhangi bir kayan nokta işlemi gerçekleştirilmeden önce KeSaveFloatingPointState çağırmalısınız ve KeRestoreFloatingPointState çağırana dönmeden önce çağırmalısınız. Bu işlevler, Windows 2000 Driver Development Kit (DDK) içinde belgelenmiştir.

Windows NT 3.51 ve Windows 4.0 çekirdek modu sürücüleri, kayan nokta yönergeleri için çekirdek modu yığınının anahtarları kayan nokta yazmaçların korumak için kullanamazsınız. Bir çekirdek modu sürücüsü herhangi bir kayan nokta yönergesi kullanırsanız, bu bir sistem hatası (çökebilir) ya da kullanıcı modu uygulamasının sayısal durumunun bozulmasına neden olabilir.

MS-DOS uygulamaları

Windows NT ve kendi ardılları ıntel x 86, ıntel x 86 işlemci sanal 8086 modunda MS-DOS uygulamaları çalıştırın. MS-DOS uygulamaları, kayan nokta donanımı DOS'ta gibi erişebilirsiniz. Kayan nokta donanımı yok varsa, hiçbir öykünmesi, uygulama için sağlanmıştır. Bu nedenle, uygulama kendi öykünme sağlamanız gerekir.

RISC tabanlı bilgisayarlardaki Windows NT'DE, yerleşik bir ıntel x 86 öykünme kodu kullanır. Windows NT 3.5 ve Windows NT 3.51 80286 ve 80287 öykünücüsünü içerir; Windows NT 4. 0'ı bir i486 öykünücüsü içerir. MS-DOS uygulamaları, ıntel kayan nokta coprocessors gibi varsa her zaman çalıştırın.

POSIX uygulamalarını

Win32 uygulamaları, POSIX uygulamalarını destekleyen tam kayan nokta her zaman kabul edilebilir olarak bulunmaktadır.

Standart olan POSIX kayan nokta özel durumlara'ı kapatmak için bir yol belirtin. Bu nedenle, kayan nokta özel durumlar kullanmak POSIX uygulamalarını, sisteme özel özellikleri kullanan gerekir. Microsoft Visual C++ ile derlenmiş BIR POSIX uygulaması, kayan özel durumlara _controlfp işlevini kullanarak etkinleştirebilirsiniz. Kayan nokta özel durumları sonra SIGFPE tarafından yakalanan veya uygulamayı yalnızca yapmanız gerekiyorsa, fpieee_flt işlevi tarafından özel durum, catch.

OS/2 uygulamalarının

OS/2'in bu alt sistem desteği kayan nokta uyan: kayan nokta donanımını yüklüyse, OS/2 uygulaması, kendi öykünme sağlamanız gerekir. OS/2 alt sistemi, yalnızca ıntel x 86 sürümleri Windows NT ve kendi ardılları üzerinde desteklenir.

Windows 95, Windows 98, Windows 98 ikinci sürüm ve Windows Me

Win32 uygulamaları

Platformlar, Windows Me ile Windows 95 sağlar kayan nokta aynı destek için Win32 uygulamaları Windows NT ve Windows 2000 platformları.

Win16 uygulamalar

Win16 uygulamalar genellikle, kayan nokta yönergeleri ve 16 bitlik kayan nokta öykünücüsü, WIN87EM çağrılarını içeren kendi nesne kodu düzeltme kayıtları eklemek için derlenir. Bilgisayarın işlemcisi kayan nokta yönergeleri destekliyorsa veya bir işlemci varsa, yükleyiciyi düzeltme kayan nokta yönergeleri için çözümler ve bunlar yürütülür. Kayan nokta donanımı algıladı, yükleyiciyi düzeltme WIN87EM çağrıları çözümler ve öykünücüsü yürütülür.

WIN87EM uygulamaları yönetip kayan nokta yönergeleri müdahale; yalnızca, açıkça çağrıldığında çalıştırır. Bu nedenle yürütülebilir dosyanın düzeltme kayıtları yerleştirmek için bu linker söyleyecektir öykünmesi, desteklemek üzere Win16 uygulamaları derleyin.

Aygıt sürücüleri

Sanal aygıt sürücüleri (VxD) kayan noktalı yönergeleri kullanabilirsiniz, ancak sanal matematik işlemciye aygıt arabirimi kaydetmek ve kayan noktalı işlemci durumunu geri yüklemek için kullanmanız gerekir. VxD, kayan nokta özel durumlar için bir özel durum işleyici de kaydettirmeniz gerekir.

MS-DOS uygulamaları

Platformlar, Windows Me ile Windows 95, ıntel x 86 işlemci sanal 8086 modunda MS-DOS uygulamaları çalıştırın. MS-DOS uygulamaları, kayan nokta donanımı DOS'ta gibi erişebilirsiniz. Kayan nokta donanımı yok varsa, hiçbir öykünmesi, uygulama için sağlanmıştır. Bu nedenle, uygulama kendi öykünmesi, MS-DOS uygulama çalışma zamanı kitaplığı tarafından gerçekleştirilen tipik olarak sağlamanız gerekir.

Bu makalede açıklanan üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft bu ürünlerin performans veya güvenilirliğiyle ilgili hiçbir garanti vermemektedir.

Özellikler

Makale numarası: 102555 - Last Review: 1 Mart 2014 Cumartesi - Gözden geçirme: 2.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Win32 Uygulama Programlama Arabirimi, Ne zaman ne ile kullanilir:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbfloatpoint kbinfo kbkernbase kbprogramming KB102555 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:102555

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com