Steinbitglis Skrevet 2. april 2004 Del Skrevet 2. april 2004 Hvordan får jeg et dos-program til å kjøre uten å bruke all maskinkraften f.eks få et program til å vente i 1 minutt ved hjelp av ctime dette vil bli veldig tungt #include <ctime> #include <iostream> using namespace std; int main() { time_t tid1,tid2; time( &tid1 ); time( &tid2 ); while (difftime (tid2,tid1) < 60) { time( &tid2 ); } cout << "60 sekunder er gått"; return 0; } Lenke til kommentar
kjetil7 Skrevet 2. april 2004 Del Skrevet 2. april 2004 Bruk Sleep() funksjonen (går ut fra at du bruker Win32). Sleep Function Lenke til kommentar
☀ ❄ Skrevet 2. april 2004 Del Skrevet 2. april 2004 Det finnes uansett tilsvarende sleep() i Linux. Lenke til kommentar
Steinbitglis Skrevet 2. april 2004 Forfatter Del Skrevet 2. april 2004 Tusen takk Finnes det noen grunn for at denne funksjonen krever stor forbokstav? Jeg trang ikke inkludere noe? funka uten i dev-cpp. Lenke til kommentar
søppel Skrevet 2. april 2004 Del Skrevet 2. april 2004 (endret) Win32: http://msdn.microsoft.com/library/default..../base/sleep.asp VOID Sleep( DWORD dwMilliseconds ); Linux: man 3 sleep: #include <unistd.h> unsigned int sleep(unsigned int seconds); ...og det er 1000 millisekunder i ett sekund, så da kan vi si: #define sleep(T) Sleep(T * 1000) ..under Win32, da blir det likt under Win32 og Linux. Endret 3. april 2004 av søppel Lenke til kommentar
☀ ❄ Skrevet 3. april 2004 Del Skrevet 3. april 2004 Si #define Sleep(T) sleep(T * 1000) under Linux, mener du. Eller enda bedre: #ifdef WIN32 #include <windows.h> // Eller hvor den nå enn er inline void sleep(int x) { Sleep(x*1000); } #else #include <unistd.h> #endif // WIN32 Funksjonen har forresten stor bokstav fordi det er Microsoft-kode vi snakker om. Lenke til kommentar
søppel Skrevet 3. april 2004 Del Skrevet 3. april 2004 (endret) Øh .. under Win32 mente jeg .. heh..så da skulle det egentlig vært: #define sleep(T) Sleep(T * 1000) ..jeg er lat .. gidder ikke sjekke koden lenger. Edit: Under *nix .. hvis man så det fra "MS-perspektiv", måtte man i såfall delt på 1000. #define Sleep(T) sleep(T / 1000) Jeg gidder ikke sjekke nå heller .. så spark meg i hue hvis dette også er feil ... Endret 3. april 2004 av søppel Lenke til kommentar
kjetil7 Skrevet 3. april 2004 Del Skrevet 3. april 2004 (endret) Tusen takkFinnes det noen grunn for at denne funksjonen krever stor forbokstav? Jeg trang ikke inkludere noe? funka uten i dev-cpp. Ikke noe annen grunn enn at alle andre funksjoner i Win32 API også har store forbokstaver. Sleep() ligger i "Winbase.h" headeren, som blir inkludert gjennom "Windows.h". Endret 3. april 2004 av kjetil7 Lenke til kommentar
Steinbitglis Skrevet 3. april 2004 Forfatter Del Skrevet 3. april 2004 Brukte Sleep() uten noen spesiell header, funka det sikker dumt spørsmål, men hva er win 32 api? hittil har jeg ikke brukt funksjoner med stor bokstav før Lenke til kommentar
søppel Skrevet 3. april 2004 Del Skrevet 3. april 2004 (endret) API: Er det du programmerer "mot" i en gitt situasjon .. altså de funksjonene du har mulighet til å kalle. Har du en C++-kompiler som støtter standard C++, så har du C++'s standardbibliotek å programmere "mot", og dermmed kan dette biblioteket ansees å være et API. Siden du programmerer under Win32 har du også MS's biblioteker for C/C++-programmering, som blandt annet består av et sett funksjoner og muligheter kallt "Win32API", eller bare "Win32" .. MS har også laget andre bibiloteker/api'er som MFC, ATL .. o.s.v. Det finnes mange API'er/biblioteker .. 1000 - vis faktikst, f.eks.: - Win32 - OpenGL - DirectX - OpenAL - wxWidgets - GTK - KDE - QT - cgicc - Linux - POSIX - ++++++osv++++ Endret 3. april 2004 av søppel Lenke til kommentar
☀ ❄ Skrevet 3. april 2004 Del Skrevet 3. april 2004 API står forresten for Application Programming Interface. Som altså betyr, som søppel sa, "de funksjonene du har mulighet til å kalle" -- pluss klasser som følger med, osv. Du kan tenke på f.eks. Win32 API som "ansiktet" til Windows -- Funksjoner og klasser du kaller for å "snakke med" Windows, pluss hjelpeklasser og funksjoner, slik som Sleep() i dette eksempelet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå