Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

compilateur graphique gratuit avec debugeur ?

42 réponses
Avatar
MB
Bonjour

J'uilise Bloodshed Dev-C++ 4.9.9.2 pour mon petit programme en C qui doit
ensuite tourner sur un serveur NT4. J'ai déjà mis en production sur mon
serveur NT4 une première version de mon programme en C il y a maitenant
plusieurs mois et il tourne bien.

Le problème c'est que je veux faire évoluer mon programme et le debugueur
pas à pas marche mais quand il veut !! .

Il n'y a pas une option pour lui dire de mieux fonctionner sous XP ou un
autre compilateur pas pas capable de faire le même job ?

Merci

10 réponses

1 2 3 4 5
Avatar
Emmanuel Delahaye
J'ai installé codeblocks qui fonctionne sur Windows 2000.
Sur mon poste en Win98, lorsque je lance le débuggeur, j'obtient une boite de message :
Erreur de démarrage du programme
Le fichier PSAPI.DLL est lié à une exportation manquante NTDLL.DLL:NtAllocateVirtualMemory.


Je ne suis pas sûr que cet IDE fonctionne sous Windows 98.

'NTDLL', ca fait pas trop MS-DOS...

Forum :

http://forums.codeblocks.org/index.php

--
A+

Emmanuel Delahaye

Avatar
Harpo
Emmanuel Delahaye wrote:

Merci je le test car je craque un peu avec la bibliotheque strhing.h
et strstr qui semble aussi marcher quand elle veut bien.


Rassure toi, ça ne change rien. Ce qui est en dessous est toujours
mingw.


Je ne sais pas ce que c'est 'mingw'.

Par contre, je serais curieux de savoir quels problèmes tu as avec les
fonctions de <string.h>. Je n'ai rien remarqué en 3/4 ans.

Donne un exemple de code qui ne fonctionne pas.


La question n'est pas là, elle fonctionnent bien en principe. Chqrlie
vilipende strcat(), mais a priori elles font ce que dit le manuel.
Le problème c'est qu'elles portent sur de strings terminés par 0, elles
travaillent sur des char et font des copy etc. char par char, ce qui
coute cher.
En plus elles incitent à une paresse de mauvais aloi, il est facile
d'écrire 'strlen( str )' 10 fois de rang pour un string qui n'a pas
changé, même si c'est pas moi qui paie, je trouve que ça coute cher.
pareil pour strncpy(), très dispendieux quand le string est long.
Pour moi, une chaîne, c'est plutôt une adresse et une longueur, cela
permet mieux d'optimiser les copy et on peut faire un bon algo pour
implémenter memcpy.
Même quand je fais un programme genre scanner qui traite principalement
des chaînes de caractères, je n'emploie pas str* sinon si je suis
quasiment obligé, le profiling me donne raison.


Avatar
Harpo
Emmanuel Delahaye wrote:

Les fonctions str* sont à utiliser avec parcimonie et à bon escient,
c'est à dire quasiment jamais.


N'importe quoi...


Je maintiens et je double la mise.


Avatar
Emmanuel Delahaye

Je ne sais pas ce que c'est 'mingw'.


Minimalist Gcc for Windows. T'as cassé ton Google, vilain garçon ?

La question n'est pas là, elle fonctionnent bien en principe. Chqrlie
vilipende strcat(), mais a priori elles font ce que dit le manuel.
Le problème c'est qu'elles portent sur de strings terminés par 0, elles
travaillent sur des char et font des copy etc. char par char, ce qui
coute cher.


Le problème n'est pas dans les fonctions, mais dans la choix qui a été
fait d'implémenter les chaines avec une sentinelle. J'ai résolu ce
problème il y a quelques temps avec :

http://mapage.noos.fr/emdel/clib.htm
Module FSTR

--
A+

Emmanuel Delahaye

Avatar
Harpo
Emmanuel Delahaye wrote:


Je ne sais pas ce que c'est 'mingw'.


Minimalist Gcc for Windows. T'as cassé ton Google, vilain garçon ?

La question n'est pas là, elle fonctionnent bien en principe. Chqrlie
vilipende strcat(), mais a priori elles font ce que dit le manuel.
Le problème c'est qu'elles portent sur de strings terminés par 0,
elles travaillent sur des char et font des copy etc. char par char,
ce qui coute cher.


Le problème n'est pas dans les fonctions, mais dans la choix qui a été
fait d'implémenter les chaines avec une sentinelle.


Je suis tout à fait d'accord sur ce point, c'est ce que je viens
d'écrire.
Mais il y a aussi le choix des fonctions, dans ce choix
d'implémentation, certaines fonctions s'imposent comme strc[n]py,
str[n]cat (au risque d'aggraver l'ulcère de Chqrlie), mais si on
cherche un peu plus sophistiqué, on trouve souvent des fonctions qui
répondrait presque au besoin mais qui en fait n'y répondent pas, comme
strtok, strspn (une gourmande aussi celle-là) etc.
Cela me semble typique d'une implémentation qui a précédé la conception.
Je ne jete pas la pierre, il y a aussi des impératifs comme la
deadline, le problème c'est que 1/4 de siècle après, il n'y a pas dans
le langage de substitut aux null terminated strings et que les
fonctions absconses str* tiennent le haut du pavé tout en étant plutôt
inutiles.

J'ai résolu ce problème il y a quelques temps avec :

http://mapage.noos.fr/emdel/clib.htm
Module FSTR


Où est la doc ?


Avatar
Pierre Maurette
Emmanuel Delahaye wrote:
[...]

http://mapage.noos.fr/emdel/clib.htm
Module FSTR


Où est la doc ?
Quand on devise avec Dieu, quel est l'intérêt de lire le catéchisme ?


--
Pierre Maurette


Avatar
Harpo
Pierre Maurette wrote:

Emmanuel Delahaye wrote:
[...]

http://mapage.noos.fr/emdel/clib.htm
Module FSTR


Où est la doc ?


Quand on devise avec Dieu,


J'ai très bien connu sa mère.

quel est l'intérêt de lire le catéchisme ?


Pour sortir des versets de la norme ?



Avatar
Emmanuel Delahaye
http://mapage.noos.fr/emdel/clib.htm
Module FSTR


Où est la doc ?


Ben t'as le test unitaire à droite. Tu veux pas 100 balles et un Mars,
non plus ?

--
A+

Emmanuel Delahaye


Avatar
Harpo
Emmanuel Delahaye wrote:

http://mapage.noos.fr/emdel/clib.htm
Module FSTR


Où est la doc ?


Ben t'as le test unitaire à droite. Tu veux pas 100 balles et un Mars,
non plus ?


Quand je lis en français, c'est de gauche à droite, la lecture du source
doit-elle précéder la lecture de la doc ?
J'ai vu écrit 'tests unitaires', je n'ai pas vu écrit doc. Quand j'écris
des test unitaires ce qui me prend la moitié du temps qui n'est pas
consacré à la doc, j'écris des tests unitaires et je m'arrange pour
qu'ils puissent servir d'exemples en complément de la doc, mais leur
fonction est avant tout d'être des tests unitaires, j'en ai écrit une
cinquantaine aujourd'hui, je suis d'accord, c'est moins chiant que la
doc mais ça donne quand même envie de venir se défouler sur fclc...



Avatar
Emmanuel Delahaye
j'écris des tests unitaires et je m'arrange pour
qu'ils puissent servir d'exemples en complément de la doc,


Bon ben voilà, t'as compris. Sinon, je pense que le codage est
suffisament auto documenté pour se passer de doc, surtout pour un
programmeur chevronné comme toi...

La seule chose à préciser, et encore, c'est le rôle du paramètre de
fstr_create(). C'est un entier (puissance de 2 de préférence, minimum 1,
Attention, avec 0, le comportement est indéfini !) qui indique la taille
initiale de la chaine. (Taille dite 'raisonnable')

Si tu te sens le courage d'écrire une doc, tu es le bienvenu !

--
A+

Emmanuel Delahaye

1 2 3 4 5