Newsgroup: it.comp.programmare.win32
Titolo: [STANDARD C++] Ma quanto sono standard i compilatori per win32??

Si puņ compilare codice scritto con gli IDE di Visual C++ e C++
Builder (con chiamate alle API di sistema, ecc.) con qualsiasi
compilatore standard C++? In particolare vorrei compilare con il
Dev-C++...
Grazie a tutti

 wrote in message
news:3c0cb5f3...@news.comm2000.it...

Non esiste, tutt'oggi, un compilatore che sia 100% compliant
con il nuovo standard ISO del '98.
Tuttavia credo che Dev C++ si basi su gcc, che nelle ultime
versioni dovrebbe essersi avvicinato molto al nuovo standard
ed e', comunque, uno dei compilatori piu' "compliant".
Forse il migliore e' il KAI C++, ma costa un botto di soldi.
Il gcc, tra l'altro, implementa molte nuove caratteristiche
del nuovo standard del C (C99), oltre che del C++.
Devi pero' distinguere quello che e' il linguaggio standard 
da quelle che sono le particolari estensioni per la piattaforma
specifica.  C++ Builder e Visual C++ sono due compilatori 
per Windows e ti consentono di usare le API di Windows, oltre
che la propria gerarchia di classi (che per il BCB si chiama VCL, 
per il Visual C++ si chiama MFC).  Queste caratteristiche non
sono compatibili tra i due compilatori (BCB non puo' compilare
codice scritto per Visual C++ e viceversa).  A dire il vero,
BCB supporta anche MFC, ma non so che livello di compatibilita'
ci puo' essere da questo punto di vista.
Quindi, la risposta alla tua domanda e': no, non e' generalmente
possibile compilare il codice scritto per un compilatore, con
un altro compilatore, a meno che i due non si mantengano molto
stretti allo standard del linguaggio C++ e nel codice non vi
siano chiamate a funzioni particolari, legate al sistema.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

codice scritto per Visual C++ e viceversa).  
A questo punto devo essere più esplicito.
Il *gioco* che vorrei fare è questo: scrivere un'applicazione
sfruttando le caratteristiche "Visual" di C++Builder (o Visual C++) e
poi compilare con Dev-C++ (o qualche altro port di GCC su win32) per
poterlo distribuire senza "rompere" le licenze Borland (o Microsoft).
Se ho capito bene, usare i componenti Visuali significa
_necessariamente_ usare le librerie VCL (o MFC). Giusto? 
In questo caso il mio *gioco* non funziona: ho scoperto l'acqua calda
e chiedo scusa per l'ingenuità...
Grazie anticipate

 poterlo distribuire senza "rompere" le licenze Borland (o Microsoft).
Non puoi farlo.



Perché?

Perché?
Perche' utilizzare le caratteristiche "Visual" di C++
Builder ti porta a scrivere codice che non e' compilabile
con Dev C++.

 ha scritto nel messaggio
news:3c0d06de...@news.comm2000.it...

Perchč il DEV-C++ (ottimo compilatore) non supporta (per motivi di
copyright) i framework VCL e MFC (di Microsoft), o meglio, tecnicamente lo
potrebbe anche fare, ma non sono distribuite con i compilatori freeware...
Altrimenti borland col suo favoloso C++ Builder, chiuderebbe... gią c'era
andata molto vicino qualche anno fa... aveva uno dei migliori compilatori e
si č ridotta a regalarlo freeware... oggi campa con Delphi e C++ Builder...
lasciamola sopravvivere... La conversione č di fatto "impossibile", si fa
molto prima a scrivere il programma in standard Win32, con le API, sempre
che non ti pungano...

 potrebbe anche fare, ma non sono distribuite con i compilatori freeware...
Potrebbe anche essere vero per le MFC ma le VCL sono un mix di Delphi e C++
builder per cui solo il C++ Builder puņ compilare le VCL. Questo non č vero
per altri frameworks scritti interamente ed unicamente in C++.
Luigi
--
Luigi Bianchi
http://www.luigibianchi.com
n...@luigibianchi.com
Programming, C++, OWL, VCL, SDK, Dfm2API

lasciamola sopravvivere... 
Lasciamole fare concorrenza a Microsoft.  
Lasciamo che i programmatori VB si convertano a Delphi (come
sarebbe giusto che fosse).
Lasciamo che la qualita' di prodotti come Delphi e C++
Builder prevalga sui simili molto scadenti.
Lasciamo che Kylix raccolga programmatori Delphi anche sotto
Linux.
Lasciamo che un programmatore possa sviluppare codice
robusto e affidabile.
Lasciamo che...
Come vedi, "sopravvivere" per Borland ha un senso preciso.