Pour le deuxième point, peut-être que l'ajout du switch -Wa,-l améliorerait un peu les choses.
Attention, Thibaut va te râler après car tu n'as pas écrit son prénom comme il faut...
TiMad Le 22/04/2003 à 11:57 en bref un prog est plus lent quand il est ecrit en plusieur fichier *.c
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
perso, je préfere (mm si c pas propre) mettre du code dans les header
Uther Le 22/04/2003 à 14:10 le code dans les header c'est nul tant qu'a y mettre du code faire un include d'un ".c" au moins ca dit bien ce que c'est
c pas vraiment plus propre non plus...
Uther Le 22/04/2003 à 14:16 non mais au moins ca dit ce que c'est
Link Le 26/04/2003 à 17:10 uther,neurone->moi j'inclus mes michiers sources, il servent aussi d'en-têtes:
//--- en-tête privé ---
#ifndef SOURCE_HEADER
// inclusions
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
//prototypes privés
//structure privée
#endif
//--- en-tête public ---
void inputstr(char *chaine,int taille,bool pwd);
size_t inser_str(char *dest,size_t taille,const char *format,...);
//--- Fonctions: toujours privées ---
#ifndef SOURCE_HEADER
/* FONCTION D'ENTREE DE CHAINE
--------------------------- */
void inputstr(char *chaine,int taille,bool pwd)
{
int i=0,carac;
do
{
carac=getch();
if(i==taille-1 && carac!=13 && carac!=8)
continue;
if(carac>31)
{
putch(pwd ? '*' : carac);
chaine[i]=(char)(carac);
i++;
}
if(carac==8 && i!=0)
{
chaine[i]=0;
i--;
printf("\x08 \x08");
}
}
while(carac!=13);
chaine[i]=0;
}
/* FONCTION D'INSERTION DE CHAINE
------------------------------ */
size_t inser_str(char *dest,size_t taille,const char *format,...)
{
size_t nbcarac=0,i,j,tailleins,numchaine=1;
const char **pt_chaines=&format;
for(i=0;format[i] && nbcarac<taille;i++)
{
switch(format[i])
{
case '%':
i++;
if(format[i+1]=='%')
break;
tailleins=atoi(&format[i]);
for(;format[i] && format[i]!='s' && format[i]!='S';i++);
for(j=0;pt_chaines[numchaine] && pt_chaines[numchaine][j] && nbcarac<taille && (!tailleins || j<tailleins);j++,nbcarac++)
dest[nbcarac]=pt_chaines[numchaine][j];
numchaine++;
break;
default:
dest[nbcarac++]=format[i];
}
}
if(nbcarac>=taille)
nbcarac=taille-1;
dest[nbcarac]=0;
return nbcarac;
}
#endif
et ça s'utilise comme ça:
#define SOURCE_HEADER
#include "inputstr.cpp"
#undef SOURCE_HEADER

Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.
Ça, c'est un hack intéressant, mais très bizarre et très probablement mal géré par les IDEs (un fichier qui est à la fois compilé à part et inclus, le tout avec des #defines). Il vaut mieux mettre tes 2 déclarations dans un fichier à part que tu inclus dans le fichier .cpp.
j'ai deja vu ca aussi ....