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

Archive C/C++

 > 

Archives

 > 

API

 > 

Debug - Release - Probleme à l'execution...


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

Debug - Release - Probleme à l'execution...

vendredi 30 juillet 2004 à 21:48:02 | Debug - Release - Probleme à l'execution...

Matt67

Bonsoir,

Voici un morceau de code qui recupere le chemin de l'application et change l'extention en .ini (Dites moi si mon code est bien 'codé')

LPTSTR lpFichierIni;

// On recupere le chemin du fichier ini (dans le repertoire de l'application)
lpFichierIni = new char[MAX_PATH];
GetModuleFileName(NULL, lpFichierIni, lstrlen(lpFichierIni));
lstrcpyn(lpFichierIni, lpFichierIni, lstrlen(lpFichierIni) - 3);
lstrcat(lpFichierIni, ".ini");
// Pour le debug en mode release.
MessageBox(hwndDlg, lpFichierIni, "Fichier INI", MB_OK);

Le probleme c'est qu'en compilant en mode Debug, pas de probleme mais en mode Release, à l'execution, le chemin est tronqué ???

j'ai du style C:\PROGRAMM FILE .ini

Une autre petite question en passant :
J'emploi ici le mot clef new qui est du C++, comment puis je faire pour faire de la programmation C/Win32, utiliser les malloc ou les globalAlloc ???

Merci pour vos réponses et bonnes soirée.

Matt...
vendredi 30 juillet 2004 à 22:35:11 | Re : Debug - Release - Probleme à l'execution...

BruNews

Administrateur CodeS-SourceS
char szfl[264], *c;
c = szfl + GetModuleFileName(0, szfl, 264);
c pointe donc sur le null final

*(c-3) = 'i'; *(c-2) = 'n'; *(c-1) = 'i';

Alloc memoire se fait par HeapAlloc ou VirtualAlloc.

ciao...
BruNews, Admin CS, MVP Visual C++
samedi 31 juillet 2004 à 14:59:13 | Re : Debug - Release - Probleme à l'execution...

Matt67

Bonjour,

Merci pour ta réponse.
En fait cela venait du lstrlen (mauvaise utilisation)
J'ai donc fait un mix des deux :

TCHAR lpFichierIni[MAX_PATH];
GetModuleFileName(NULL, lpFichierIni, MAX_PATH);
lpFichierIni[lstrlen(lpFichierIni) - 3] = 'i';
lpFichierIni[lstrlen(lpFichierIni) - 2] = 'n';
lpFichierIni[lstrlen(lpFichierIni) - 1] = 'i';

Et voila,

par contre j'utilisais LPTSTR mais je trouve que l'allocation memoire est un peu lourde avec HeapAlloc ou VirtualAlloc pour des chaines de caracteres. Ici pas de probleme car la chaine est fixe mais si on veut faire des chaines dynamiques pas moyen d'y echapper ???

Merci encore et bonne journée,

Matt...
samedi 31 juillet 2004 à 15:08:45 | Re : Debug - Release - Probleme à l'execution...

BruNews

Administrateur CodeS-SourceS
API expose ces 2 fonctions pour la gestion memoire, tout autre moyen devra par force finir par un appel a ces fonction alors autant les employer directement.
Lire Richter, reference en la matiere:
http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip

Regarde bien ton code et compare au mien, tu ne vois pas que j'ai acces direct aux octets a modifier sans recalcul d'adresse ?
Faut toujours viser la performance.

ciao...
BruNews, Admin CS, MVP Visual C++


Cette discussion est classée dans : ini, probleme, debug, release, lpfichierini


Répondre à ce message

Sujets en rapport avec ce message

debug vs release [ par coockiesch ] Hello!J'aimerais savoir les différences entre la compilation release et la compilation debug...Quels sont leurs avantages et leurs inconvéniants.Merci Probleme sur une methode [ par kild ] Bonjourje desire crée un exe ki execute via le choix de l'utilisateur un autre executable dont g po les sources et ki utilise des commandes en ligne d probleme ecriture dans ini [ par Adeon ] Adeon lisez ce petit progamme// inclu assertion failed! + debug VS release [ par sro ] Bonjour,j'ai un ptit prgme cree a partir d'un "devolpement toolkit" pour webcam logitech. J'ai deja fait marche ce programme sans pb, mais maintenant Debug & Release [ par hilairenicolas ] Bonjour à tous,j'ai un probleme étrange. Je developpe un .ocx qui n'a pas le meme comportement quand je le compile en mode debug ou en mode release. E tri listview ( debug - release ) [ par 3psilon ] Bonjour a tous,J'explique mon probleme :A titre pédagogique, j'ai crée une application (sans mfc avec VC 6), ou j'ai crée des listviews.Je rempli les probleme d'ini [ par zame ] Bonjour,j'ai un fichier ini comme cela0=bonjour1=salut4=aplussachant qu'il peut y avoir 7=demaindonc un ini avec le nombre de variables variable.Si le 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 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 new - debug / release [ par magic_Nono ] PB du new.... alors que ça passe avec des alloc classiquesOn me conceil d'utiliser des new plutot que des malloc en C++très bien maisvoici un petit mo


Nos sponsors


Sondage...

Comparez les prix

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,390 sec (3)

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