[>a2449.html>] [<a2447.html<] [^a2.html^]
Che cosa sono precisamente i file *.h e *.o in un programma C?
---------
Supponendo di lavorare sul file miofile
, il codice sorgente vero e proprio viene scritto in miofile.c
. miofile.h
, detto file di intestazione contiene le dichiarazioni delle variabili e delle funzioni implementate nel file miofile.c
.
Infine il codice oggetto risultante dalla compilazione risiederà in miofile.o
.
Come faccio ad avviare il compilatore C++ dalla shell di Linux?
---------
Con:
$
g++ -o nomefile nomefile.cpp
[Invio]
-o serve a dare un nome all'eseguibile diverso dal nome predefinito, che è 'a.out'.
Qualcuno sa dirmi in quali condizioni si verifica un errore di tipoBus Error? Ho scritto un'applicazione C++ che ogni tanto senza spiegazioni cessa di funzionare e restituisce un Bus Error in zone di codice diverse.
---------
Compila il programma con l'opzione -g ed eseguilo. Quando si interrompe, analizza le cause con:
$
dbx nomeprogr core
[Invio]
e tramite l'istruzione where puoi vedere dove è accaduto l'errore.
Solitamente Bus Error accade per un superamento dei limiti di memoria, un indice di un array che supera il limite, un fine-stringa mancante ecc.
Girovagando tra i miei passati programmi compilati col Turbo C++ ne ho trovato uno che mi potrebbe servire anche in Linux. Questo programma però include alcuni file tipo conio.h, graphics.h e dos.h che in Linux naturalmente non ci sono. Il mio problema è quello di sapere se è possibile trovare file .h omologhi anche in Linux o devo cambiare radicalmente il sorgente?
---------
Cerca su sunsite.unc.edu un file che si chiama:
linux-conio-x.yy.tgz
che sostituisce il conio.h della Borland; ho avuto qualche problemino ma l'ho ritoccato e funziona discretamente.
Comunque, molto brevemente (e imprecisamente):
conio.h -> ncurses.h graphics.h -> vga.h dos.h -> ???
Tuttavia le librerie sotto Linux hanno un modo di operare completamente diverso e ti consiglio uno studio accurato della documentazione.
LDR --- Copyright © 1999-2000 Gaetano Paolone -- bigpaul @ pluto.linux.it