begin process at 2012 05 29 19:12:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

new - debug / release


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

new - debug / release

vendredi 15 octobre 2004 à 13:26:22 | new - debug / release

magic_Nono

Membre Club
PB du new.... alors que ça passe avec des alloc classiques
On me conceil d'utiliser des new plutot que des malloc en C++

très bien mais


voici un petit morceau de code à tester avec Visual C++:



int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
unsigned long double compteur=0;
int* toto;

while(compteur<4294967297)
{
toto=new int;
delete toto;
compteur++;
}

return 0;
}

A Priori, rien de bien méchant....


Si le programme est compilé en version DEBUG, à chaque invocation de new,
un compteur d'allocation s'incrémente pas celui que j'ai appelé compteur dans
le programme mais un autre au sein de la fonction new.


Résultat: Lorsque le programme a réalisé 4 294 967 295 opérations d'allocations
(limite d'un long int), on se fait jeter avec le message "User
BreakPoint".

Réponse de Microsoft: Vous n'avez qu'a faire tourner votre application en release !!!
(j'en connais plusieurs ici qui disent la mm chose...)

Chez moi quand une application est pas foutue de tourner en DEBUG je vois pas pourquoi je la ferai tourner en RELEASE !!!

On ns a tjs appris a tester en debug et C plus facile pour éviter certains pb



++
Magic Nono: l'informagicien!
vendredi 15 octobre 2004 à 13:28:14 | Re : new - debug / release

magic_Nono

Membre Club
rq :
est-ce que ce genre de cdes passe avec VC++7 et VC# ?

Magic Nono: l'informagicien!
vendredi 15 octobre 2004 à 14:26:19 | Re : new - debug / release

djl

fais gaffe avec ton compteur long double, meme avec cette precision, c'est pas sur qu'il y ai exactement le nombre d'incrementations voulue

unsigned compteur = 0;

while( compteur < std::numeric_limits<unsigned>::max() )
vendredi 15 octobre 2004 à 14:36:57 | Re : new - debug / release

magic_Nono

Membre Club
C une simplification

j'avais vérifié auparavant que

4294967297 < std::numeric_limits<unsigned>::max()

(affichage de msg)
ptet po avec les std mais le fichier limits.h


m'enfin, en tt cas, CT po la rq...


Magicalement
Magic Nono: l'informagicien!
vendredi 15 octobre 2004 à 14:45:01 | Re : new - debug / release

djl

de toute facon, en debug ton application ne tournera jamais a 100%

ils disent quoi precisement microsoft ?
vendredi 15 octobre 2004 à 14:56:24 | Re : new - debug / release

magic_Nono

Membre Club
simplement ce que BN et toi dites :
uniquement release

mais ils préconisent tt de mm débug et disent de passer pr les cas ou y a des pb sans qu'ils devraient y en avoir en release

Perso, je suis tombé que 2 ou 3* sur ces cas limites mais
y a des fois ou ça gave...
car ça fait rechercher des bugs ou il n'y en a pas.

Magic Nono: l'informagicien!
vendredi 15 octobre 2004 à 16:02:21 | Re : new - debug / release

vecchio56

Administrateur CodeS-SourceS
while(compteur<4294967297) -> c'est toujours vrai, non?
Puisqu'il passe de 4294967296 à 0...
vendredi 15 octobre 2004 à 16:15:39 | Re : new - debug / release

djl

il passe de 4294967295 à 0

boucle inf

while( compteur < std::numeric_limits<unsigned>::max() )

vrai tant que compteur != std::numeric_limits<unsigned>::max()

et en c faut allez voir les macros dans limits.h, mais jamais un truc litteral en dur

vendredi 15 octobre 2004 à 16:18:06 | Re : new - debug / release

vecchio56

Administrateur CodeS-SourceS
Mais compteur est un double, j'ai pas trop compris l'intérêt
vendredi 15 octobre 2004 à 16:20:03 | Re : new - debug / release

djl

mais dans son cas compteur est un long double, le nombre d'incrementation n'est pas certains et l'entier sera promu en long double

1 2

Cette discussion est classée dans : int, compteur, debug, release, hinstance


Répondre à ce message

Sujets en rapport avec ce message

tracer une courbe à partir d'un tableau dans une fenêtre [ par jul41 ] Salut! je dois réaliser un projet dont une partie consiste à tracer une courbe caractérisant une force appliquée sur un capteur. J'essaie pour ça de f mode debug / mode release avec Visual C++ [ par franckydeluka ] Bonjour à tous,je viens de créer une dll en mode débug et quand je l'appelle à partir d'un autre programme ça marche nickel sans problème.ensuite je l Etrange :o [ par Joky ] Ho ho ho ! :) Salut tous ;) Un soucis étrange encore une fois :) Voilà j'ai compiler mon projet dans les 2 modes disponibles :     - Debug     - Rele run debug != run release [ par Galmiza ] Salut,mon programme ne tourne pas de la meme facon quand je le compile en release ou en debug. C'est une sorte de moteur 3D, la difference est visible fonctionne en debug mais pas en release? [ par serom00 ] Voila je travail sous Visual 7Je travail sur l'implementation d'un algorithme que je dois optimiser la vitesse d'execution.Pour se faire j'utilise les probleme de dll [ par lamoueste ] j'ai un probleme avec ma dll : il s'agit d'une fonction qui doit lance une fenetre (dialog box ) en modal mais j'ai une "assertion failed" :( et je ne les hooks [ par faico ] Salam j'ai trouvé un code pour un programme qui install un hokk de clavier pour empecher la touche imprimer ecran. Mais je compile le programme cela n Visual C++ 6.0: générer une version de debug/release [ par oh81 ] Bonjour,  J'ai installé visual C++ sur mon Pc depuis ... J'ai remarqué que  quand je remplace "win32 debug" par "win32 release" ou l'inverse dans "Pro debug/release [ par infodaoudi ] bonjour codeur,quel est la différence en le mode debug et release, mon code s'execute bien en debug et se plate en release, je ne pas quel est le prob [api]Jouer un son [ par shadow1779 ] Bonjour,  je suis en train de me tapper un bon tuto sur l'api et j'ai vu la fonction pour jouer un fichier son, donc je l'est experimenté mais visual


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales