30

__1cGstrcpy6Fpcpkc_0_

a tes souhaits

(je sais ce que c'est le mangling grin)

31

(Pour toi je me doute, d'autre des fois je me demande wink)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

32

33

Même A68k fait du mangling, pas besoin de C++ pour ça.
Godzil (./20) :
Le C n'a pas de mangling a la C++ et la raison est assez simple, vous avez déjà regardé le mangling d'une fonction C++ ? C'est juste imbuvable, et c'est inutilisable en direct en assembleur.

Je vois pas le rapport encotre le côté imbuvable et l'utilisabilité en assembleur ???
Godzil (./20) :
Le C n'est PAS un langage de haut niveau, moins de fonctionnalité a la con sont présente dans le langage, mieux il se porte, c'est un langage fait pour faire du système, pas pour faire des "truc fantaisies" et le polymorphisme est quelque chose qui enlève une partie du contrôle qu'on peu avoir sur le langage.

Quel rapport entre la surcharge et le polymorphisme ??

Il me semble qu'il serait parfaitement possible de faire de la surcharge de fonction (et donc du mangling) sans rien casser.
Il suffirait de déclarer quelle fonction, dans un ensemble de fonctions surchargée, ne devrait pas être manglée, et ça suffirait pour préserver l'existant.
Ca serait le cas par défaut pour toutes les fonctions de la libc (normal...), ainsi que pour les fonctions déjà existantes et exportées qu'on voudrait surcharger.
Pour tout code nouveau, ça serait parfaitement inutile.

Godzil (./20) :
Et puis apres on ajoute quoi ? la surcharge des opérateurs ? Comme ça on peux faire du cin/cout en C ?

Tu vois Godzil, si t'avais un ton un peu moins péremptoire, que t'arrêtais de te contredire (./13, ./20, ./29), en bref si t'arrêtais de prendre les autres pour des cons avec ce ton mérpisant, franchement ça serait sympa. Ca a l'air à la mode dans les topics d'info du moment, mais c'est chiant cette manière de parler.

34

pisse un coup folco, et réalise qu'on en a ràb, c'est juste les internetz

35

ya des limites.

36

Folco (./33) :
Même A68k fait du mangling, pas besoin de C++ pour ça.
Godzil (./20) :
Le C n'a pas de mangling a la C++ et la raison est assez simple, vous avez déjà regardé le mangling d'une fonction C++ ? C'est juste imbuvable, et c'est inutilisable en direct en assembleur.

Je vois pas le rapport encotre le côté imbuvable et l'utilisabilité en assembleur ???

si faire des

jsr __1cGstrcpy6Fpcpkc_0_

t'amuse, je n'ai pas de soucis. Moi ce n'est pas le cas, j'ai autre chose a faire que passer ma journée à passer les nom de fonction manglé dans un c++filt ou équivalent pour savoir quelle est la fonction et son prototype.
Godzil (./20) :
Le C n'est PAS un langage de haut niveau, moins de fonctionnalité a la con sont présente dans le langage, mieux il se porte, c'est un langage fait pour faire du système, pas pour faire des "truc fantaisies" et le polymorphisme est quelque chose qui enlève une partie du contrôle qu'on peu avoir sur le langage.

Quel rapport entre la surcharge et le polymorphisme ??

Simplement que la surcharges fait partit de ce qu'on appele le polymorphisme? ( https://fr.wikipedia.org/wiki/Polymorphisme_(informatique) )
Mais bien sur le polymorphisme n'est pas que la surcharge, les templates et autres héritages en font aussi partit dans le cadre du C++.

Il me semble qu'il serait parfaitement possible de faire de la surcharge de fonction (et donc du mangling) sans rien casser.

Justement tu te trompe, ajouter la surcharge au C risque de casser plein de choses

Il suffirait de déclarer quelle fonction, dans un ensemble de fonctions surchargée, ne devrait pas être manglée, et ça suffirait pour préserver l'existant.
Ca serait le cas par défaut pour toutes les fonctions de la libc (normal...), ainsi que pour les fonctions déjà existantes et exportées qu'on voudrait surcharger.
Pour tout code nouveau, ça serait parfaitement inutile.

Comment ton compilo détermine quelle est le prototype qu'il ne faut pas mangler?
Un compilateur C est une bête déjà plutôt complexe, pourquoi ajouter des trucs encore plus complexes et techniquement problématiques ? Soit du change tout, soit rien, mais pas un mix des deux, bonjour le bordel :/
Godzil (./20) :
Et puis apres on ajoute quoi ? la surcharge des opérateurs ? Comme ça on peux faire du cin/cout en C ?

Tu vois Godzil, si t'avais un ton un peu moins péremptoire, que t'arrêtais de te contredire (./13, ./20, ./29), en bref si t'arrêtais de prendre les autres pour des cons avec ce ton mérpisant, franchement ça serait sympa. Ca a l'air à la mode dans les topics d'info du moment, mais c'est chiant cette manière de parler.

Je ne vois pas ou je me contredit, premier post j'ai parle d'ABI a la place de signature/mangling, chose que je reconnais au second post, et le 3ème je dit que je n'avais pas complètement tords vu que le mangling semble être pris en compte dans la définition d'une ABI.

Désole mais je ne vois pas ou je me contredis.
Quand à être méprisant, tu m'en verra désole car je n'ai jamais cherche chercher à être méprisant, alors excuse moi si tu as eu cette impression, elle est fausse.

Quand au reste de la citation, c'est simplement que si tu commence a ajouter des choses du C++ au C, jusqu’où tu t’arrête? si tu ajoute la surcharge, pourquoi ne pas ajouter d'autres choses?

Apres, tu peux aussi utiliser un compilateur C++ tout en faisant du "C" sans la partie objet (donc du purement fonctionnel) mais en utilisant les surcharges & autres "bonus" du C++
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

37

Godzil (./36) :
Folco (./33) :
Même A68k fait du mangling, pas besoin de C++ pour ça.
Godzil (./20) :
Le C n'a pas de mangling a la C++ et la raison est assez simple, vous avez déjà regardé le mangling d'une fonction C++ ? C'est juste imbuvable, et c'est inutilisable en direct en assembleur.
Je vois pas le rapport encotre le côté imbuvable et l'utilisabilité en assembleur ???

si faire des

jsr __1cGstrcpy6Fpcpkc_0_

t'amuse, je n'ai pas de soucis. Moi ce n'est pas le cas, j'ai autre chose a faire que passer ma journée à passer les nom de fonction manglé dans un c++filt ou équivalent pour savoir quelle est la fonction et son prototype.

Ah ben voilà, suffit de dire que tu traces du cpp en assembleur, tout de suite on comprend mieux, désolé mais j'avais pas deviné tu vois ^^
Godzil (./36) :
Il me semble qu'il serait parfaitement possible de faire de la surcharge de fonction (et donc du mangling) sans rien casser.
Justement tu te trompe, ajouter la surcharge au C risque de casser plein de choses

C'est dommage en tout cas, parce que au niveau utilisateur, ça simplifie juste les écritures, et le risques d'erreur. Je voyais juste le côté pratique en fait, ça et les argumenr ts par défaut, ça serait bien commode.

Sinon c'est pas idiot cette utilisation de g++, j'avais pas pensé alors que ça parait tout con, à tester tongue Je vais juste revoir la liste des incompatibilités C/C++ pour savoir si j'ai des modifs à faire. J'avais oublié que la libc est utilisable en cpp, parce que je m'en suis jamais servi dans ce contexte.

38

La surcharge apportes des choses, mais tu peux "facilement" passer outres de diverses manières, après bien sur ça dépends de ce que tu fait, mais franchement pour du système (la ou le C excelle) c'est loin d’être indispensable. Et moins il y a d'overhead (tu me diras que ce n'est pas la surcharge qui en ajoute le plus) mieux c'est dans ce langage.

L'autre problème de la surcharge c'est l’ambiguïté, et possiblement casser en partie le déterminisme du C. Quand tu appele une fonction tu sais exactement quel sont les arguments pris en paramètres, sans devoir parcourir une listes des fois longues comme deux bras, pour savoir quel est le bon prototype.

(d'ailleurs ça me fait penser, si on connais le nom manglé on doit pouvoir appeler directement une fonction C++ depuis du C grin)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

39

40

La surcharge en C existe déjà.
Avec _Generic et __VA_ARGS__, on peut même faire presque mieux qu'en C++ wink

cf. http://en.wikipedia.org/wiki/C11_%28C_standard_revision%29

41

Bon, ben l'équipe de GCC4TI n'a plus qu'à updater GCC et je serai satisfait, hein n'est-ce pas ? grin

Sinon, on en avait déjà parlé dans un topic voisin, je l'ai relu ya une semaine ^^

42

Rien que le nom fait flipper :

'surcharge', qui vient de surcharger, définition :

'Charger en poids de façon excessive',' Imposer une charge nouvelle ou excessive à quelqu'un'

ca devrait etre interdit !!! sisi !!


GT Pas pour surcharger, c'est dangereux !!
avatar
Accrochez vous ca va être Cerebral !!

43

Sauf en Alcool, là c'est sans risque wink
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

44

Ah voilà, c'était là : topics/156981-c11-generic

45

Il faudrait un point PpHd: Remontage de topic a troll embarrassed
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

46

"y'a pu qu'à" tripo on parle d'un saut vers GCC 4.7+ depuis quoi, 4.3? Bon courage tongue