Precedente :: Successivo |
Autore |
Messaggio |
whitesquall Amministratore
Registrato: 26/06/07 14:03 Messaggi: 8413
|
Inviato: 12 Dic 2007 20:42 Oggetto: differenza fra C++ e Visual C++ |
|
|
spero che questo post non sia un doppione, volevo fare una domanda banale ...
che differenza c'è tra C++ e Visual C++?
quale dei due ha maggiori potenzialità? |
|
Top |
|
|
Smjert Dio maturo
Registrato: 01/04/06 17:19 Messaggi: 1619 Residenza: Perso nella rete
|
Inviato: 13 Dic 2007 01:30 Oggetto: |
|
|
Il C++ è Unmanaged e portabile praticamente ovunque, il Visual C++ è Managed e serve il net framework per farlo girare.
Che cosa vuol dire Managed e Unmanaged?
Non te lo so spiegare bene in dettagli tecnici ma in parole povere vuol dire codice gestito (Managed, gestito dal Framework appunto), che è possibile debuggare avendo un botto di informazioni (debug passo passo, stack trace, stato di tutte le variabili in un dato momento etc), e non gestito (Unmanaged) che manca di tutto quello che ho detto prima.
Ovviamente un codice scritto in Visual C++, anche se come scrittura è uguale al C++, è più gestibile, aggiornabile etc... anche se pecca di portabilità. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 13 Dic 2007 09:45 Oggetto: Re: differenza fra C++ e Visual C++ |
|
|
Squall ha scritto: | che differenza c'è tra C++ e Visual C++? |
C++ è un linguaggio di programmazione ad oggetti basato sul C, Visual C++ è un tool di sviluppo (di Microsoft) per scrivere -appunto- in linguaggio C++ |
|
Top |
|
|
whitesquall Amministratore
Registrato: 26/06/07 14:03 Messaggi: 8413
|
Inviato: 13 Dic 2007 14:15 Oggetto: |
|
|
ho capito, il Visual C++ è il compilatore Microsoft
grazie |
|
Top |
|
|
freemind Supervisor sezione Programmazione
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 13 Dic 2007 16:07 Oggetto: |
|
|
@Smjert:
Attenzione: VC++<=6 non è Managed in quanto non utilizza .net.
La differenza tra codice gestito e quello non non è in fase di debug.
Le cose che hai dichiarato potersi fare solo con codice gestito si fanno anche con codice non gestito.
la differenza tra le due cose è la seguente:
Il codice Managed è appunto gestito da una macchina virtuale (java, .net etc...) e questa si preoccupa di evitare che a livello di compilazione avvengano fatte assegnazione "pericolose".
Ad esempio in C,C++,VC++<=6 io posso scrivere:
...
...
void main()
{
int i,j;
i=j;
}
Non succede nulla in fase di compilazione ma al momento dell'esecuzione del programma io non posso sapere che cosa contiene i.
in C# la precedente darebbe errore in fase di compilazione in quanto .net si preoccupa di avere la "certezza dell'inizializzazione dell'elemento a destra". In pratica dovrei scrivere qualcosa del tipo:
...
...
public static void Main()
{
int i,j=3;// ho inizializzato j prima di assegnarlo
i=j;
}
la macchina virtuale in oltre si occupa di impedire l'accesso a basso livello alla memoria (l'aritmetica dei puntatori), a meno di forzare il tutto.
Ci sono un mucchio di altre differenze, queste sono due delle più visibili.
Ciao |
|
Top |
|
|
|