Articles of stack

Pourquoi l’inline est-il considéré plus rapide qu’un appel de fonction?

Maintenant, je sais que c’est parce qu’il n’y a pas de surcharge dans l’appel d’une fonction, mais est-ce que le fait d’appeler une fonction est vraiment trop lourd (et vaut la peine d’être inséré)? D’après ce dont je me souviens, lorsqu’une fonction est appelée, dites f (x, y), x et y sont poussés sur la […]

Pourquoi utiliser un langage orienté stack?

J’ai récemment examiné Factor et l’idée d’avoir un langage basé sur le concept de stack est très intéressante. (C’était ma première rencontre avec un langage orienté stack.) Cependant, je ne vois aucun avantage pratique d’un tel paradigme. Pour moi, cela semble juste plus de problèmes que ça en vaut la peine. Pourquoi utiliser un langage […]

Pourquoi la taille de la stack est-elle en C # exactement 1 Mo?

Les PC actuels ont une grande quantité de RAM physique, mais la taille de la stack C # est seulement de 1 Mo pour les processus 32 bits et de 4 Mo pour les processus 64 bits ( capacité de la stack en C # ). Pourquoi la taille de la stack dans CLR est-elle […]

A quoi sert un pointeur de stack dans les microprocesseurs?

Je me prépare à un examen par microprocesseur. Si l’utilisation d’un compteur de programme doit contenir l’adresse de la prochaine instruction, quelle est l’utilisation du pointeur de stack?

Erreur étrange MSC 8.0: «La valeur d’ESP n’a pas été correctement enregistrée lors d’un appel de fonction…»

Nous avons récemment tenté de diviser certains de nos projets Visual Studio en bibliothèques, et tout semblait comstackr et construire dans un projet de test avec l’un des projets de bibliothèque en tant que dépendance. Cependant, tenter d’exécuter l’application nous a donné le message d’erreur d’exécution ci-dessous: Échec du contrôle d’exécution # 0 – La […]

Allocation de la stack, remplissage et alignement

J’ai essayé de mieux comprendre comment les compilateurs génèrent du code machine, et plus précisément comment GCC gère la stack. Ce faisant, j’ai écrit des programmes en C simples, les compilant en assembleur et faisant de mon mieux pour comprendre le résultat. Voici un programme simple et le résultat qu’il génère: asmtest.c : void main() […]

Pourquoi le destructeur n’est pas appelé sur exception?

Je m’attendais à ce que A::~A() soit appelé dans ce programme, mais ce n’est pas: #include struct A { ~A() { std::cout << "~A()" << std::endl; } }; void f() { A a; throw "spam"; } int main() { f(); } Cependant, si je change la dernière ligne à int main() try { f(); } […]

Capacité d’empilage en C #

Quelqu’un pourrait-il me dire quelle est la capacité de la stack en C #. J’essaie de former un object fermé de maillage 3D en utilisant un tableau de 30 000 éléments.

Comment créer une structure sur la stack en C?

Je comprends comment créer une struct sur le tas en utilisant malloc . Était à la recherche de documentation concernant la création d’une struct en C sur la stack, mais tous les documents. semblent parler de la création de structures uniquement sur le tas.

Les primitives Java vont-elles sur la stack ou le tas?

Je sais juste que les non-primitives (les objects) vont sur le tas, et les méthodes vont sur la stack, mais qu’en est-il des variables primitives? –mettre à jour Sur la base des réponses, je pourrais dire que le tas peut avoir une nouvelle stack et un nouveau tas pour un object donné? Étant donné que […]