Re: C++ depuis c

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Liste Guilde
Nouveaux-sujets: meta-information jpeg
Sujet: Re: C++ depuis c
J'ai écrit tout à l'heure en C :
> int _Z6squarei(int i);


Plus élégant : tu peux appeler la fonction C++ par son nom C++, si tu
demandes à l'éditeur de liens de créer un symbole avec ce nom là,
synonyme du symbole créé par le compilateur C++. C'est l'option
« --defsym nouveau_nom=ancien_nom » de ld. En l'occurrence ça devient :

===== b.c =====
#include <stdio.h>

int square(int i);

int main(void)
{
    printf("%d^2 = %d\n", 5, square(5));
    return 0;
}
===============


===== test =====
$ g++ -c -Wall -Wextra a.cc -o a.o
$ gcc -c -Wall -Wextra b.c -o b.o
$ gcc -Wl,--defsym,square=_Z6squarei a.o b.o
$ ./a.out
5^2 = 25
================

À+,

--
Edgar.