Programmation en C++/CLI ?
Je vous avais d�j� contact� il y a plus de 3 mois sur les Winforms et le c++/CLI et entre temps je me suis pas mal document� sur le sujet (surtout � l'aide de vos FAQ et qques ouvrages que j'ai potass�).
Je suis un "bleu" en Visual C++. Mais j'ai d�j� construit 3 programmes en DELPHI, qui fonctionnent bien.
Ce sont des programmes "scientifiques" poss�dant comme dans tous ces types de programmes :
- une fen�tre pour l'entr�e des donn�es (et leurs modif si n�cessaires) soit un "pr�processeur"
- Le Kernel, dans lequel le calcul s'effectue (calculs matriciels, et de r�solutions d'�quations du mouvement d'ensemble de points....)
- une fen�tre pour la sortie des r�sultats (et leurs impressions et graphes).
J'ai d�j� programm� la fen�tre d'entr�es (pr�processeur) (en C++/CLI) et �a marche pas mal. Je pense que pour les sorties je pourrais rester en C++/CLI pour les graphiques.
Maintenant, pour le KERNEL, j'ai un probl�me de temps d'execution; j'ai quelques questions � vous poser sur ces orientations.
1 - De ce que j'ai lu, si j'utilise le garbage collector les calculs seront moins rapides qu'avec le heap. Si oui, puis-je rester en C++/CLI et utiliser le c natif et des pointeurs (new, delete) du heap ou dois-je entourer mes parties calcul avec des #pragma unmanaged et #pragma managed. En gros, est-ce que le compilateur saura faire la part des choses entre les 2 "langages".
Pouvez-vous me donner un exemple tr�s simple me montrant l'incrustation d'un code en c natif dans du c++/cli, ou est-ce impossible ?
2 - Quelle est la diff�rence de temps d'execution entre 2 calculs matriciels dans les 2 langages en utilisant des pointeurs.
Si on ne peut pas m�langer les 2 "langages", je peux toujours cr�er 3 programmes que je lance successivement.
Pouvez-vous m'�clairer sur ce point, SVP.
J'esp�re que ma demande est claire.
Merci d'avance
Alfred
Eclaircissement sur ce sujet
D'accord, j'ai bien compris.
Si on cr�e un pointeur de tableau avec new, il sera dans le heap et sera utilis� comme un pointeur normal. Et tout ceci sera dans mon code en c++/cli.
J'ai appris que le compilateur cr�e du MSIL et non du code objet c++ natif.
Et donc saura-t-il faire la diff�rence et au moment o� il trouvera les instructions en natif (non manag�) les compilera-t-il dans ce code ?
Pour forcer le compilateur � cr�er du code natif faut-il donc incruster le kernel (code de calcul � optimiser en temps) entre des directives # pragma unmanaged et # pragma managed ?
Alors si on ne force pas le compilateur � cr�er du code natif, il cr�era du MSIL !!!!
Tout cela s'embrouille dans ma t�te.
Comment cela se passe-t-il dans la r�alit� ?
Pour ma part je voudrais rester en c++/cli pour l'utilisation des winforms qui me rappellent ce que j'avais avec les rad de delphi et la gestion des contr�les.
Je vous remercie, d�j� pour vos r�ponses �clair
et attend la ou les r�ponses � ces nouvelles questions.
Alfred