Articles of visual c ++

Différence entre c ++ géré et c ++

Le titre des sujets est en fait ma question. Et la deuxième question est: quand est-ce que j’utilise quoi de ces deux?

Pourquoi le destructeur n’est pas appelé sur exception?

Je m’attendais à ce que A::~A() soit appelé dans ce programme, mais ce n’est pas: #include struct A { ~A() { std::cout << "~A()" << std::endl; } }; void f() { A a; throw "spam"; } int main() { f(); } Cependant, si je change la dernière ligne à int main() try { f(); } […]

Comment supprimer les avertissements dans les en-têtes externes dans Visual C ++

Je commence un nouveau projet BREW et j’aimerais comstackr avec Warning Level 4 (/ W4) pour garder le code de l’application propre et correct. Le problème est que les en-têtes BREW eux-mêmes ne comstacknt pas proprement avec / W4. Dans gcc, vous pouvez différencier les en-têtes d’application et de système en utilisant -I et -isystem. […]

Comment améliorer les temps de compilation de Visual C ++?

Je comstack 2 projets C ++ dans un buildbot, à chaque validation. Les deux sont environ 1000 fichiers, l’un est 100 kloc, l’autre 170 kloc. Les temps de compilation sont très différents de gcc (4.4) à Visual C ++ (2008). Les compilations Visual C ++ pour un projet prennent dans les 20 minutes. Ils ne […]

Le nouveau retourne-t-il NULL dans tous les cas?

Je sais que, selon la norme C ++, si la nouvelle ne parvient pas à allouer de la mémoire, elle est supposée générer une exception std :: bad_alloc. Mais j’ai entendu dire que certains compilateurs tels que VC6 (ou la mise en œuvre de CRT?) N’y adhèrent pas. Est-ce vrai ? Je demande cela parce […]

Échec lors de la conversion en COFF: fichier invalide ou corrompu

Lorsque j’essaie de créer un simple programme dans VS2010, la compilation réussit quand j’essaie de créer la solution, mais cela me donne cette erreur: LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt Qu’est-ce que je fais mal?

Quelle est la particularité de R et L dans le préprocesseur C ++?

J’ai exécuté le code suivant via le préprocesseur Visual Studio 2013. La sortie me surprend. Contenu de hello.cpp: #define A(j) #j A(A?) A(B?) A(C?) A(D?) A(E?) A(F?) A(G?) A(H?) A(I?) A(J?) A(K?) A(L?) A(M?) A(N?) A(O?) A(P?) A(Q?) A(R?) A(S?) A(T?) A(U?) A(V?) A(W?) A(X?) A(Y?) A(Z?) La commande: cl /P hello.cpp bonjour.i contient: #line […]

Utilité de la signalisation NaN?

J’ai récemment lu pas mal de choses sur l’IEEE 754 et l’architecture x87. Je pensais utiliser NaN comme “valeur manquante” dans un code de calcul numérique sur lequel je travaille, et j’espérais que l’utilisation de la signalisation NaN me permettrait de détecter une exception en virgule flottante dans les cas où je ne veux pas […]

Arrêter automatiquement la génération Visual C ++ 2008 lors de la première erreur de compilation?

Je sais que je peux comstackr des fichiers sources individuels, mais parfois – par exemple, lors de l’édition d’un fichier d’en-tête utilisé par de nombreux fichiers .cpp – plusieurs fichiers sources doivent être recompilés. C’est pour ça que c’est construit. Le comportement par défaut de la commande “Générer” dans VC9 (Visual C ++ 2008) consiste […]

Quelle est la différence entre “VC ++” et “C ++”?

Quelqu’un m’a demandé à quel point je suis familier avec VC ++ et à quel point je suis familier avec C ++. Quelle est la différence?