Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Direttiva #line c/c++

  1. #1
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346

    Direttiva #line c/c++

    Salve,

    uso il compilatore free c/c++ della borland e provo ad includere parti di codice c/c++ usando la direttiva #line ma sembra non funzionare. Posto codice dimostrativo:

    codice:
    #line 1 "test.y"
    
    func();
    ma il compilatore segnala che la funzione func() non esiste anche se la funzione è nel file test.y.
    Per gli Spartani e Sparta usa spartan Il mio github

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    The #line directive tells the preprocessor to change the compiler's internally stored line number and filename to a given line number and filename.
    Inoltre una funzione può essere chiamata solo all'interno di una funzione percui, in un compilatore C, la tua riga di codice verrebbe interpretata come in prototipo di una funzione:
    codice:
    int func(...);
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Che c'entra #line? Non è che intendevi #include?
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    A me serve #line xche sembra che venga usato per includere parti di un file .c. Nell'esempio postato il file test.y contiene la funzione, successivamente viene richiamata. Cmq sembra non funzionare all'interno di un metodo c++.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da linoma
    A me serve #line xche sembra che venga usato per includere parti di un file .c. Nell'esempio postato il file test.y contiene la funzione, successivamente viene richiamata. Cmq sembra non funzionare all'interno di un metodo c++.
    Hai letto la definizione che ti ho postato?!

    line serve sono a cambiare l'indice interno del compilatore così, in caso di errore, verrà visualizzata tal riga in tal file, per includere un file si usa #include e si includono solo prototipi di funzioni e strutture dati.
    Il codice devi compilarlo a parte e linkarlo!
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    ahh perfetto. grazie
    Per gli Spartani e Sparta usa spartan Il mio github

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.