Et qu'en est-il pour le respect du C++ ANSI, Borland en font leur cheval de bataille pour leurs compilateur, est ce le cas pour VC++?
Et qu'en est-il pour le respect du C++ ANSI, Borland en font leur cheval de bataille pour leurs compilateur, est ce le cas pour VC++?
Il y a un vieux (2001) roundup sur le site du C/C++ Users Journal qui comparait compilos et biliothèques. Il reste valable pour les vieux compilos d'époque.
Sinon, les tests de régression sur le site de boost donnent une idée de la conformance des divers compilateurs relativement aux options avancées du C++ qui sont utilisées dans boost. Attention, c'est tout sauf un critère absolu! Il s'agit d'une mesure relative à boost seulement.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Deux autres mesures orientées performances qui en interresseront certains. Cette news vient de passer sur la mailing-list de Cygwin.
En fait, le forum news://news.gmane.org/gmane.comp.lang.c++.perfometer semble dédié aux mesures de performances.========================================
Comparative Performance of C++ Compilers
C/C++ Performance Tests
=========================================
Environment
-----------
Windows 2000 Professional
Intel(R) Celeron(R) CPU 1.70 GHz
Compilers
---------
* GNU g++ 3.3.1 (cygming special), Cygwin
* GNU g++ 3.3.1 (cygming special), Mingw32 Interface
* GNU gpp 3.3.2 (djgpp)
* Microsoft C++ 13.00.9466 (Unmanaged)
* Microsoft C++ 13.00.9466 (Managed)
* Borland C++ 5.5.1
* Digital Mars C++ 8.40.2
* Intel C++ 8.0
Testsuites
----------
* Computing very large Fibonacci numbers
http://article.gmane.org/gmane.comp.....perfometer/37
* Copying files (input to output)
http://article.gmane.org/gmane.comp.....perfometer/38
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Parlons un peu du compilo BCB6 : afin de permettre un portage complet de leur lib pascal, ils ont rajoutés des fonctionnalités et des mots clés étrangés au C++ ANSI : get, set, published, etc...Envoyé par Medo_free
bien sur, ce n'est pas possible de compilé du code VCL ou CLX avec un autre compilo...
A part ça, peu de différence avec VC7, sauf:
- quelques différences au niveau de l'implémentation de la STL (cf ios:nocreate) mais facilement contournables.
- Problème avec les templates (bcp plus génant mais ça pose problème avec presque tous les compilos)
Si vous passez d'un compilo à l'autre un même bout de code,
RESTESTER vos fonctions MEME si ça compile du PREMIER COUP (re-cf ios::nocreate)
Je percute longtemps après (j'ai cliqué un lien trop haut pour les nouveautés)
Il n'y a pas de std::ios_base::nocreate dans la SL du C++98. Il est normal qu'il y ait des incompatibilités entre les divers compilos quand on continue de se servir de ::ios::nocreate qui prédate la norme.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Je dirais que Vc++ et BCB n'ont pas la même optique.
VC++ permet notamment de redéfinir le look (Active X, Skin) complet d'une application, composant par composant. Il est possible de redéfinir en profondeur les comportements et les looks. Le développeur fournira un effort non négligeable dans la partie graphique et traitements standards de son application avant de se concentrer sur la partie métier.
BCB est un RAD, il permet de faire rapidement une application pour Windows (ou Unix pour ceux que ça intéresse) avec un look standard des composants. Le développeur se concentre alors plus sur la partie métier de l'application.
pour avoir utilisé les 2 pendants 4mois chaqun je travaillier d'appaort sous borland et fut obligé de passé sur vc je trouve que vc est beaucoup plus vide que borlande
borlande ma offert beaucoup plus de choix et rien que le fait de lancfé les 2 l'un a coté de l'autre on voit quand meme que vc est beaucoup moins fournir et fait vide
Quelles versions ? Pourquoi faire ?
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
VC++ est-il vraiment très dur de s'en servir?
Pour ma part, j'ai commensé le C++ avec BorlandC++5 et la bibliothèque OWL. Très très bien au point que j'ai développé un très gros projet (héritages multiples, DLLs, gestion du chargement et déchargement des segments de mémoires, mélange de code C/C++, etc).
OWL a été abandonné l'air de rien petit à petit sans annonce claire de la part de Borland, là j'ai été très embêté.
wxWindows semble être le framework le plus proche d'OWL. Me disant qu'avec C++BuilderX, je serai armé jusqu'au dent pour faire du multi-plateforme.
Et bien je n'ai jamais réussi à commenser à utiliser le framework wxWidgets ni sous C++BuilderX ni sous C++Builder6.Le wizard wxFramework de C++BuilderX ne fonctionne pas.
Le principal problème que j'ai rencontré est qu'il n'y a pas beaucoup de support Borland/wxWidgets.
Je suis donc passé à VisualStudio6 et suis obligé de reprendre toutes les lignes de code.
Maintenant, je dois redécouvrir le fil à couper le beurre chez Microsoft.
A l'heure actuelle, je ne suis toujours pas sorti de cette migration et suis très ennervé des annonces floues de Borland. On ne sais toujours pas ce qu'il deviendra des outils de développement de DevCo. Je n'ai jamais réussi à trouver quelqu'un d'honnête chez Borland pouvant me dire ce qui marche bien ou ce qui est peu conseillé dans chaque RAD de Borland. Bref, je suis passé à VisualStudio car j'en ai eu marre d'avoir à m'adresser à des marchands de tapis chez BorlandFrance.
Au final, je crois que choisir entre BorlandC++Builder ou MicrosoftVisualStudio est comme se marier (pour le meilleure et pour le pire) et comme jouer aux dés (difficile de connaître les évolutions futures des outils et des nécessités des migrations).
Voilà voilà, c'est pas très constructif mais c'est mon expérience.![]()
salut ,Envoyé par carreau
j'ai eu a peu pres la même histoire j'ai commencé les devellopements graphiques avec borland en c++ en 94, au fil des deconvenus (abandon progressif de owl etc) ,j'en ai eu marre et je suis passé chez MS .
comme tu le dis c'est une histoire de mariage .
ma societe ne pouvait se permettre d'investir sur du flou .
j'ai effectivement du réécrire beaucoup de choses ,m'inspirer des bonnes idées de owl .
au final je ne suis pas mecontent de mon choix, le probleme de portabilité vers d'autres OS n'a jamais ete un probleme pour moi, je ne travaille plus que sous windows.
les MFC me laisse une totale liberté sur ce je que j'ecris, de plus avec les ouverture au C++/cli à .net avec les MFC, pour moi la question ne se pose plus ...
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
#include <dos.h>
#include <string.h>
#include <conio.h>
unsigned long hrtime(void) // FONCTION DE LECTURE DU PORT
{
asm(
".intel_syntax noprefix\n"
"pushf\n"
"cli\n"
"mov al,0x00\n"
"out 0x43,al\n"
"in al,0x40\n"
"xchg ah,al\n"
"in al,0x40\n"
"xchg ah,al\n"
"popf\n"
".att_syntax noprefix\n"
);
}
int main(int argc, char* argv[])
{//INITIALISATIONDU COUNTER
unsigned long elapsedTime ;
asm(
".intel_syntax noprefix\n"
"pushf\n"
"cli\n"
"mov al,0x34\n"
"out 0x43,al\n"
"xor al,al\n"
"out 0x40,al\n"
"out 0x40,al\n"
"popf\n"
".att_syntax noprefix\n"
);
int cnt = 0;
while(cnt < 10)
{
elapsedTime = 65536 - hrtime();
printf("%u",elapsedTime);
printf("\n");
cnt++;
}
getch();
return 0;
}
Partager