Wie können wir unsere eigene Timer-Funktion in Windows implementieren, ohne Bibliotheksfunktionen zu verwenden? Sollten wir mit Assembleranweisungen umgehen?Wie Implementieren des Usermode-Timers in C?
Antwort
Dies hängt von der Genauigkeit und Auflösung ab, die Sie benötigen.
Angenommen, Sie benötigen mehr als die zweite Genauigkeit, ist es beliebt, die RDTSC
Anweisung einzupacken/zu verwenden. Sie können aber auch einfach die Win32-API verwenden, die QueryPerformanceCounter()
ist dafür weit verbreitet.
Viele APIs wie Threading Building Blocks von Intel (http://threadingbuildingblocks.org), OpenMP (http://openmp.org), SDL (http://libsdl.org) oder SFML (http://sfml-dev.org), und ich denke, auch OpenGL (http://opengl.org) um einen Zeitgeber einen Timer oder einen Wrapper implementieren.
Sagen "ohne Bibliothek Funktionen zu verwenden" ist ein bisschen vage: Welche Bibliothek meinst du speziell? Am Ende müssen Sie eine Bibliotheksfunktion oder Inline-Assemblierung verwenden, da C++ keine Timing-Funktionalität in der Kernsprache hat. Und ohne einen Timer-Prozessor oder irgendeine andere Timing-Hardware in welcher Form (*), gibt es keine Möglichkeit, die Zeit zu bestimmen, nicht vage, nicht genau.
(*) Dazu gehören Internet Time Provider.
keine Standard-C-Bibliotheksfunktionen oder Windows-APIs verwenden – sarat
erhalten Sie die Atomuhrzeit von einem Internet-Zeitdienst.
Sonst werden Sie immer mit einer Art von Bibliotheksfunktionen arbeiten, mit denen Sie mit dem BIOS sprechen können, das ist der Teil, der das Tick-Tack vom Quarz für das OS sichtbar macht.
- 1. Wie implementieren Entscheidungsmatrix in C#
- 2. Implementieren des Dekoratormusters in Python
- 3. Ausführlich in C implementieren
- 4. Wie zu implementieren Observer-Muster in C++
- 5. Wie implementieren Sie Coroutinen in C++
- 6. Wie Countdown-Timer in C++ implementieren?
- 7. Wie kann ich IRandomAccessStream in C# implementieren?
- 8. Wie rein virtuelle Funktion in C++ implementieren
- 9. Wie 3 Ebenen-Architektur in C# implementieren
- 10. Wie P2P in C# zu implementieren?
- 11. Wie kann ich Metaklassen in C++ implementieren?
- 12. Wie zu implementieren, große Int in C++
- 13. Wie generischer Polymorphismus in C# zu implementieren?
- 14. Wie bedingte Kapselung in C implementieren #
- 15. Implementieren Methode Dekoratoren in C#
- 16. Implementieren des grundlegenden Dateisystems
- 17. Implementieren Photoshop-Filter in C#
- 18. Implementieren Besucher Muster in C#
- 19. Implementieren der Ableitung in C/C++
- 20. Implementieren des Befehlsmusters
- 21. Implementieren des Strategie-Patterns
- 22. Implementieren OPOS-Gerät in C#
- 23. So implementieren Sie programmgesteuertes Öffnen des Dateispeicherorts (C++ builder)
- 24. Implementieren des Bootstrap-Validierungsstatus in ein Textfeld
- 25. Implementieren des OAuth-Providers in Java
- 26. C++: Implementieren benutzerdefinierter Hauptfunktion
- 27. Implementieren des OAuth-Providers in Delphi
- 28. Implementieren des Bayes-Klassifizierers in Ruby?
- 29. Implementieren des Lastenausgleichs mit Python
- 30. Implementieren des All/Universal-Sets
sind sie nicht in stdlib? – cobbal
Ohne eine einzige Bibliotheksfunktion zu verwenden? Oder nicht mit bestimmten Funktionen? Ich sehe nicht, wie Sie ohne lib-Aufruf Systemzeit bekommen können. – Paxic
Ich muss wissen, wie eine einfache Zeit implementiert werden kann. Natürlich ist es möglich, auf Plattform-APIs zu vertrauen. Ohne das zu nutzen, wie kann man das umsetzen? – sarat