[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Documentation complète sur la compilation de programmes



On 12/29/2015 06:42 PM, Vincent Lefevre wrote:
On 2015-12-28 10:49:07 +0100, Basile Starynkevitch wrote:
L'assembleur n'est quasiment plus utilisé (sauf peut-être dans l'embarqué de
bas niveau, sur des petits microcontroleurs 8 bits avec quelques kilo-octets
de mémoire).
Il est très utilisé par GMP, car le langage C (qui est pourtant celui
de plus bas niveau) n'est pas vraiment conçu pour implémenter de la
multiprécision à base d'entiers.



Oui et non. C'est vrai que GMP -voir http://gmplib.org/ pour les détails- utilise du code assembleur (notamment parce que les instructions machine d'addition avec retenue très utiles en arithmetique double précision ne sont pas accessibles en C99, mais GCC fournit https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html & https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html ...) mais la très grosse majorité de GMP est codée en C, pas en assembleur. Seul le sous repertoire mpn/x86_64 visible en https://gmplib.org/repo/gmp-6.1/file/tip/mpn/x86_64 du code source de GMP contient des fichiers assembleurs (pour x86-64).

Je n'ai pas fait le compte des lignes de code dans GMP, mais il me semble bien que sur une machine donnée, les trois quarts au moins du code binaire d'une librarie libgmp.so proviennent de fichiers C, pas de fichiers assembleurs.

Bonne année à tous.

--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***


Reply to: