Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Per chi ha una red hat

  1. #1

    Per chi ha una red hat

    potreste provare a compilarmi questo sorgente? http://digilander.libero.it/ing.elettronica/Lnx.c

    A parte la warning sul main e l'errore sulla funzione kbhit, vi vede le funzioni inb() e outb() ?

  2. #2
    Ho fedora core 1, ecco l'output

    $ gcc Lnx.c
    In file included from Lnx.c:21:
    /usr/include/asm/io.h:4:2: warning: #warning <asm/io.h> is deprecated, use <sys/io.h> instead
    Lnx.c: In function `main':
    Lnx.c:110: warning: return type of `main' is not `int'
    /tmp/ccEwZrLA.o(.text+0x64): In function `main':
    : undefined reference to `kbhit'
    collect2: ld returned 1 exit status

  3. #3
    io ho una red hat 7.2 e le funzioni inb() e outb() proprio non le riconosce, nonostante abbia fatto tutti i dovuti include

    Qualcuno ha una distribuzione intermedia fra la mia e fedora (una red hat 9, ad esempio) e può provare a compilare quel sorgente?

    Ne ho un disperato bisogno..

  4. #4
    nessuno che può darmi una mano? Si compila in un attimo e non si rischia niente :quipy:

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    25
    ok questo è il mio output
    su redhat 9.0 (mezza rotta : )
    /tmp/ccIfID0B.o(.text+0x64): In function `main':
    : undefined reference to `kbhit'
    collect2: ld returned 1 exit status
    la funzione main l'ho modificata includendo un valore int
    di ritorno senno mi dava altri errori.
    sembra comunque che la funzione kbhit non si trovi nel compilatore gcc.
    se ti puo essere d'aiuto ho trovato una specie di wrapper
    a questa funzione per linux
    con questa si riesce a compilare senza prob
    ciao

    Codice PHP:
    #include <stdio.h>
    #include <unistd.h>
    #include <termios.h>
    #include <sys/ioctl.h>
    #include <sys/time.h>
    #include <sys/types.h>

    /*
     *  kbhit() -- a keyboard lookahead monitor
     *
     *  returns the number of characters available to read.
     */
    int
    kbhit
    (void)
    {
      
    int                   cnt 0;
      
    int                   error;
      static 
    struct termios OttyNtty;

      
    tcgetattr(0, &Otty);
      
    Ntty Otty;

      
    Ntty.c_iflag      =  0;       /* input mode                 */
      
    Ntty.c_oflag      =  0;       /* output mode                */
      
    Ntty.c_lflag     &= ~ICANON;  /* raw mode                   */
      
    Ntty.c_cc[VMIN]   =  CMIN;    /* minimum time to wait       */
      
    Ntty.c_cc[VTIME]  =  CTIME;   /* minimum char's to wait for */

      
    if (== (error tcsetattr(0TCSANOW, &Ntty))) {
        
    struct timeval      tv;
        
    error     += ioctl(0FIONREAD, &cnt);
        
    error     += tcsetattr(0TCSANOW, &Otty);
        
    tv.tv_sec  0;
        
    tv.tv_usec 100;

        
    /* a slight time delay is required for tight loops */
        
    select(1NULLNULLNULL, &tv);
      }

      return (
    error == cnt : -);


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.