La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20011 Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux.

Presentazioni simili


Presentazione sul tema: "Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20011 Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux."— Transcript della presentazione:

1 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20011 Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux

2 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20012 Programmi semplici Per compilare e linkare programmi semplici: c++ mytest.cpp Leseguibile sarà a.out (./a.out ) Per cambiare il nome delleseguibile: c++ -o mytest mytest.cpp Per vedere quello che fa il compilatore: c++ -v mytest.cpp

3 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20013 Uso di librerie esterne Per compilare e linkare usando librerie esterne: c++ -Iheader_dir -Llib_dir \ -llib_name mytest.cpp N.B. lib_name senza il prefisso lib e il suffisso.a o.so

4 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20014 Esempio: uso di CLHEP CLHEP è un pacchetto sviluppato a SLAC con classi utili per HEP Header files in: /sw/lhcxx/specific/redhat61/3.2.0/include Libreria ( libCLHEP.so ) in: /sw/lhcxx/specific/redhat61/3.2.0/lib Per compilare: c++ -I/sw/lhcxx/specific/redhat61/3.2.0/include \ -L/sw/lhcxx/specific/redhat61/3.2.0/lib -lCLHEP \ mytest.cpp

5 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20015 Programmi più complessi Se si hanno più files da compilare e linkare: –compilazione senza load dei singoli files: c++ -c a.cc -o a.o c++ -c b.cc -o b.o –load di tutti i files: c++ mytest.cpp a.o b.o

6 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20016 Produzione di una libreria Meglio: –compilazione senza load dei singoli files: c++ -fPIC -c a.cc -o a.o c++ -fPIC -c b.cc -o b.o –creazione di una shared library: c++ -shared -o libmylib.so \ a.o b.o –creazione di una archive library: ar -rcv libmylib.a a.o b.o

7 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20017 Uso di shared libraries E necessario definire una variabile ambientale LD_LOAD_PATH che contenga il nome della directory in cui si trova la libreria prima di eseguire il programma Alternativamente si può compilare con C++ aggiungendo lopzione: -Wl,-rpath lib_dir -Llib_dir\ -llibname

8 Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20018 Uso di Makefile Luso del comando make con un Makefile semplifica molto la vita in caso di pacchetti complessi! La documentazione può essere trovata al sito web: http://www.mi.infn.it/sem-os-cntc/


Scaricare ppt "Introduzione al C++ e alla programmazione ad oggetti 19-23 febbraio 20011 Costruzione di applicazioni Compilazione Loading (linking) Esecuzione su Linux."

Presentazioni simili


Annunci Google