Les fonctions nestedes font-elles partie de la norme C?

Aujourd’hui, je suis tombé sur des fonctions nestedes dont je n’avais jamais entendu parler. Est-ce seulement une partie de GNU C?

Voici un exemple wikipedia de fonction nestede.

float E(float x) { float F(float y) { return x + y; } return F(3); } 

D’après le code, les fonctions nestedes sont en quelque sorte des fonctions intégrées C ++. Alors, est-il possible de retirer l’adresse de la fonction nestede?

Modifier:

Le lien gcc donné par Adam indique que le code de la fonction nestede est créé dynamicment sur la stack. Mais comment exécutez-vous le code de la stack? Ce ne devrait pas être là dans le segment de code.

Non, ils ne font pas partie de la norme C ou C ++. Ils sont une extension GNU dans le compilateur GCC. Voir le manuel GCC pour plus d’informations. Il est en fait possible de prendre l’adresse d’une fonction nestede, en utilisant une technique appelée trampoline , mais méfiez-vous des mises en garde répertoriées dans le manuel.

Les fonctions nestedes sont une extension GCC , pas un C standard