Bonjour à tous
J'aimerais compiler un fichier en remplaçant l'appel à une fonction par un appel à une autre fonction, en utilisant un fichier de link. J'utilise un fichier source :
fichier f1.c :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | #include <stdio.h>
 
extern void fct1_wrongname();
 
void fct9()
{
	printf("fct9\n");
}
 
int main( int argc, char** argv)
{
	fct1_wrongname();
	return 0;
} | 
 
je compile avec la commande :
<i>gcc -O0 -xc -g -Wall -c f1.c -of1.o</i>
puis construis avec :
<i>ld -T'Link.cmd' -O0 -Map out.map -o rename.exe f1.o</i>
Le fichier Link.cmd contient :
La fonction fct1_wrongname n'existe pas, et je voudrais la remplacer au link par fct9. Or j'obtiens toujours le message suivant :
	
	Link.cmd:4: undefined symbol `fct9' referenced in expression
 Je dois utiliser un script de link pour appliquer le principe à un projet plus gros. Je ne peux pas utiliser une définition de symbole (type -D"fct1_wrongname=fct9") car il y a énormément de symboles.
Cela fait un moment que je cherche, mais je n'ai pas réussi à trouver d'info.
Pouvez-vous m'aider ?
Merci par avance
Damien
						
					
Partager