Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    25

    Domanda semplice programm in C

    Ciao....premetto che uso Mac.
    Ho installato xcode e tutto il pacchetto developer per prgrammare.
    Faccio un programmino in C semplice, un main e una printf per vedere se funziona.
    Lo salvo sulla scrivania.
    Compilo da terminale con
    gcc -c -o prova prova.c

    compilazione ok

    eseguo con
    ./prova

    ma mi da problema con i permessi, imposto il permesso con chmod +x e mi esce un altro problema al successivo tentativo di avviare il programmino

    "illegal istruction"

    Oltre alla domanda ovvia del perchè dell'istruzione illegale l'altra riguarda i permessi. Devo per forza impostare ogni volta i permessi di esecuzione?
    Forse sbaglio a salvare il file sulla scrivania?

    Help.....grazie

  2. #2

    Re: Domanda semplice programm in C

    Originariamente inviato da jerry47
    Ciao....premetto che uso Mac.
    Ho installato xcode e tutto il pacchetto developer per prgrammare.
    Faccio un programmino in C semplice, un main e una printf per vedere se funziona.
    Lo salvo sulla scrivania.
    Compilo da terminale con
    gcc -c -o prova prova.c

    compilazione ok

    eseguo con
    ./prova

    ma mi da problema con i permessi, imposto il permesso con chmod +x e mi esce un altro problema al successivo tentativo di avviare il programmino

    "illegal istruction"

    Oltre alla domanda ovvia del perchè dell'istruzione illegale l'altra riguarda i permessi. Devo per forza impostare ogni volta i permessi di esecuzione?
    Forse sbaglio a salvare il file sulla scrivania?

    Help.....grazie
    E' giusto che i permessi di "prova" non permettano l'esecuzione, e tu forzandoli a "x" giustamente ottieni, per tua fortuna, solo una "illegal istruction".

    codice:
    $ man gcc
    ...
    -c  Compile or assemble the source files, but do not link.  The linking
               stage simply is not done.
    Forse intendevi fare una cosa del genere:
    codice:
    $ gcc prova.c -o prova
    $ ./prova
    o meglio:
    codice:
    gcc -Wall -Wextra -ansi -pedantic -Wconversion prova.c -o prova
    $ ./prova
    per completezza:
    codice:
    $ gcc --version
    i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
    $ uname -a
    Darwin xxx.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    25
    Wow funziona perfettamente....

    ma quindi che differenza c'è tra il modo in cui compilavo io e quello che mi hai consigliato tu?
    Il problema è che sono su mac e non su linux? quindi devo pensare che devo usare quel modo si compilare sul mac o lo posso usare anche su linux...se puoi chiarirmi queste cose mi faresti un gran piacere....grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da jerry47
    Wow funziona perfettamente....

    ma quindi che differenza c'è tra il modo in cui compilavo io e quello che mi hai consigliato tu?
    Il problema è che sono su mac e non su linux? quindi devo pensare che devo usare quel modo si compilare sul mac o lo posso usare anche su linux...se puoi chiarirmi queste cose mi faresti un gran piacere....grazie
    Te l'ha detto ... tu usavi lo switch -c che serve a

    "-c Compile or assemble the source files, but do not link. The linking
    stage simply is not done."

    e quindi non ottenevi l'eseguibile definitivo ma solo il file oggetto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    25
    non avevo visto bene.....grazie...

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.