Articles of assembly

Pourquoi la construction de std :: optional est-elle plus chère qu’une std :: pair ?

Considérons ces deux approches qui peuvent représenter un ” int optionnel”: using std_optional_int = std::optional; using my_optional_int = std::pair; Compte tenu de ces deux fonctions … auto get_std_optional_int() -> std_optional_int { return {42}; } auto get_my_optional() -> my_optional_int { return {42, true}; } … le trunk et le clang ++ de g ++ (avec -std=c++17 […]

Point final de transport n’est pas connecté

FUSE est constamment (tous les 2 à 3 jours) ce qui me donne ce Transport endpoint is not connected erreur sur mon sharepoint assembly et la seule chose qui semble le réparer est le redémarrage. J’ai actuellement ma configuration de points de assembly comme celle-ci, je ne suis pas sûr de savoir quels autres détails […]

Comment voir le code compilé par JIT dans JVM?

Existe-t-il un moyen de voir le code natif produit par JIT dans une JVM?

Pourquoi ce programme C ++ est-il incroyablement rapide?

J’ai écrit un petit benchmark pour comparer les performances de différents interpréteurs / compilateurs pour Python, Ruby, JavaScript et C ++. Comme prévu, il s’avère que C ++ (optimisé) bat les langages de script, mais le facteur par lequel il le fait est incroyablement élevé. Les résultats sont les suivants: sven@jet:~/tmp/js$ time node bla.js # […]

int opérateurs! = et == quand on compare à zéro

J’ai trouvé que! = Et == ne sont pas les moyens les plus rapides pour tester zéro ou non nul. bool nonZero1 = integer != 0; xor eax, eax test ecx, ecx setne al bool nonZero2 = integer 0; test ecx, ecx setne al bool zero1 = integer == 0; xor eax, eax test ecx, […]

Pourquoi les instructions x86-64 sur les registres 32 bits ne représentent-elles pas la partie supérieure du registre 64 bits complet?

Dans la visite x86-64 des manuels Intel , j’ai lu Le fait le plus surprenant est peut-être qu’une instruction telle que MOV EAX, EBX automatiquement à zéro les 32 bits supérieurs du registre RAX . La documentation Intel (3.4.1.1 Registres à usage général en mode 64 bits dans l’architecture de base manuelle) citée à la […]

Quelle est la différence entre code natif, code machine et code assembleur?

Je suis confus au sujet du code machine et du code natif dans le contexte des langages .NET. Quelle est la différence entre eux? Sont-ils les mêmes?

Comment fonctionne exactement le callstack?

J’essaie de mieux comprendre le fonctionnement des opérations de bas niveau des langages de programmation et en particulier comment ils interagissent avec le système d’exploitation / la CPU. J’ai probablement lu chaque réponse dans chaque thread de stack / tas ici sur Stack Overflow, et ils sont tous shinys. Mais il y a encore une […]

Mettre manuellement des fichiers sur la carte SD de l’émulateur Android

J’ai juste du mal à faire fonctionner ma carte SD d’émulateur … J’ai créé un nouveau périphérique AVD avec une nouvelle carte SD. Alors, comment y mettre des données? J’ai trouvé le fichier “correct” à monter sur les outils Daemon, mais il est corrompu ou simplement illisible … Ce serait génial si vous avez une […]

Comment utilisez-vous gcc pour générer du code d’assemblage dans la syntaxe Intel?

L’option gcc -S génèrera du code d’assemblage dans la syntaxe AT & T. Existe-t-il un moyen de générer des fichiers dans la syntaxe Intel? Ou existe-t-il un moyen de convertir entre les deux?