Visualizzazione dei risultati da 1 a 4 su 4

Discussione: interrupt in c++

  1. #1

    interrupt in c++

    ho notato che non è possibile usare usare alcune funzioni (come getch()) all'interno delle routine di servizio delle interruzioni, e non si possono neanche generare interrupt software; ad esempio:

    void interrupt a(...)
    {
    getch();
    }

    oppure

    void interrupt a(...)
    {
    _AH=0;
    asm int 0x16;
    cout << _AL;
    }


    non funzionano. Sto facendo un programma in cui devo leggere un carattere dal buffer della tastiera all'interno di una routine di servizio, pero come faccio se non posso usare ne getch() ne int 16 del dos per leggere il carattere? Si, lo so, potrei impostare un flag nella routine di servizio e poi leggere il carattere nel programma principale quando il flag è impostato, pero non è una soluzione molto elegante. La cosa migliore sarebbe poter usare getch() nella routine di servizio; qualcuno sa se è possibile?

  2. #2

    interrupt

    non funzia perchè getch() non è ansii c e per quel tipo di programmi non puoi usare estensioni...

    Ciao
    Powered by MacOSX Lion

  3. #3
    ok, allora se metto una funzione ansii c nella routine di servizio dici che funziona? e che funzioni ansii c ci sono che fanno la stessa roba di getch()? io ho trovato solo getchar(), che pero non mi va bene perchè bisogna premere invio per inserire l'input da console.

  4. #4
    Se programmi sotto dos la via più veloce è usare un po di inline assembly. Troverai quello che ti serve in molti manuali. Altrimenti se sei da Unix uno sguardo alla struttura termios è quello che ci vuole.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.