PDA

Visualizza la versione completa : [C++] cos' la direttiva #pragma e #linker


kirakira93
20-04-2010, 18:05
Ciao ragazzi, il titolo dice tutto, non ho ancora chiaro in cosa consiste...:)
e per caso esiste comando per precompilatore che linka le librerie? ho visto in giro la #linker.... ma non sembra funzionare...

shodan
20-04-2010, 18:32
Sono direttive che permettono di istruire il compilatore direttamente da codice e non da linea d comando o ide.
Il 90% delle direttive #pragma sono specifiche del compilatore, quindi ognuno ha le sue.
#linker non l'ho mai sentita.

MItaly
20-04-2010, 18:33
#pragma una direttiva riservata dal C++ per impartire istruzioni speciali e non standard al compilatore. In alcuni casi, ad esempio per cambiare momentaneamente il livello dei warning, le impostazioni di ottimizzazione, per segnalare al linker librerie da linkare, eccetera; qui (http://msdn.microsoft.com/en-us/library/d9x1s805%28v=VS.100%29.aspx), ad esempio, trovi i pragma supportati da Visual C++.

#linker potrebbe essere una direttiva completamente non standard che credo abbia qualcosa a che vedere con il linker, ma su cui non ti so dire altro.
Normalmente per impartire istruzioni particolari al linker il compilatore dovrebbe mettere a disposizione un qualche pragma; su VC++, ad esempio, si usa #pragma comment(lib, "nomelibreria.lib") per indicare al linker di linkare una libreria aggiuntiva, o #pragma comment(linker, "opzioni-linker") per fornire impostazioni aggiuntive al linker (si usa comment per varie direttive che di fatto si riducono a piazzare un qualche "commento" nel modulo oggetto).

kirakira93
20-04-2010, 18:37
Grazie, molto soddisfacente....:)

MItaly
20-04-2010, 18:44
:ciauz:

Loading