|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2005
Messaggi: 2717
|
[c++] [Visual Studio 2010 RC1] codice oggetto sempre linkato con kernel32.dll
Stavo giocherellando un po' con Visual Studio 2010 RC1,
ho notato che anche compilando il più minimale "hello world" (compilato con linking dinamico al c/c++ runtime, opzione /MD del compilatore a linea di comando), avendo cura di non avere riferimenti kernel32.lib nelle proprietà di progetto, l'eseguibile ha poi sempre una dipendenza diretta da kernel32.dll (anche senza usare l'ide e relativi file di progetto, compilando semplicemente un main.cpp dal prompt con cl.exe) (ho controllato con il tool dependency walker e con uno a linea di comando di cui non mi ricordo il nome, incluso con v.s.) mi aspettavo che l'eseguibile dipendesse direttamente solo da msvcr100.dll e msvcp100.dll, e che eventuali ulteriori dipendenze da altri moduli fossero indirette. quindi la domanda (scusate la banalità ) è: è così che deve essere e basta o c'è qualcosa che mi sfugge e quindi si potrebbe compilare del codice che non usa direttamente alcuna api di sistema senza che ci sia dipendenza diretta con kernel32.dll ?
__________________
"La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perché. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perché." - Albert Einstein fonte: http://it.wikiquote.org/wiki/Albert_Einstein |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:16.










) è: è così che deve essere e basta o c'è qualcosa che mi sfugge e quindi si potrebbe compilare del codice che non usa direttamente alcuna api di sistema senza che ci sia dipendenza diretta con kernel32.dll ?









