Erreurs, bugs, questions - page 2498
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Pourquoi la taille ne serait-elle pas ici un multiple de quatre ?
Il s'avère que les classes peuvent aussi être alignées.
car il s'agit d'un alignement interne. La variable externe suivante sera très probablement placée avec un alignement de 8, quelle que soit lataille de la structure.
car il s'agit d'un alignement interne
Alors j'ai peur que le but de l'alignement soit perdu.
Alors j'ai peur que le but de l'alignement soit perdu.
l'intérêt de l'alignement est de faire en sorte que les adresses des variables internes soient un multiple de l'alignement.
l'intérêt de l'alignement est de faire en sorte que les adresses des variables internes soient un multiple de l'alignement.
J'ai essayé de comparer votre déclaration avec la documentation, mais je ne comprends toujours pas.
Une chose non sciée, apparemment. Il y a clairement déjà une erreur ici :
J'ai essayé de comparer votre déclaration avec la documentation, mais je ne comprends pas.
Je pense que l'aide n'a pas été mise à jour, c'est-à-dire que dans la version avec support C# (en hiver ?) il y avait une description de la façon dont l'alignement fonctionne maintenant.
je viens de googler un article sur hobber à propos de l'alignement. je pense que cela fonctionnera de la même manière dans MT5 maintenanthttps://habr.com/ru/post/142662/
Je pense que l'aide n'a pas été mise à jour, il semble que dans la version avec support C# (en hiver ?) il y avait une description de la façon dont l'alignement fonctionne maintenant.
J'ai googlé cet article sur hobber à propos de l'alignement. Il semble que la même chose fonctionnera dans MT5 maintenanthttps://habr.com/ru/post/142662/.
J'ai lu l'article et les commentaires. Je ne comprends pas du tout l'algorithme d'alignement. Il est réglé sur pack(4) mais pour une raison quelconque, quelque chose s'aligne sur 2 et quelque chose s'aligne sur 4.
J'ai parcouru l'article et les commentaires qui s'y rapportent. Je ne comprends pas du tout l'algorithme d'alignement. C'est pack(4), mais pour une raison quelconque, quelque chose s'aligne sur 2, quelque chose sur 4.
A quoi bon ? L'alignement simple par défaut est le même qu'avant (et il est peu probable qu'il change), le spécificateur de paquet est tordu. Si vous en avez vraiment besoin, vous pouvez insérer vous-même le module complémentaire.
A quoi bon ? L'alignement simple par défaut est le même qu'avant (et il est peu probable qu'il change), le spécificateur de paquet est tordu. Si vous en avez vraiment besoin, vous pouvez insérer le module complémentaire vous-même.
Je veux aller au fond des choses.
J'aimerais aller au fond des choses.
l'alignement des données n'est pas
apparemment, cela est fait en tenant compte de l'utilisation interne de sizeof(), c'est-à-dire quesizeof() ne tient pas compte de la mémoire physique, il additionne simplement chaque type en octets.
l'alignement est un arrangement des données dans la mémoire physique, comme écrit dans l'aide "pour transférer aux fonctions dll importées" - dans différents compilateurs et langages les types de données peuvent différer en taille ou plutôt comment ils sont stockés dans la mémoire, ainsi vous devriez utiliser struct A pack(4) de sorte que chaquemembre de la structure "ne soit pas monté au-delà de sa boîte" - bytes
Voici comment cela se présente sur le hubra dans l'article :
1 octet : ch
2 octets : vide
3 octets : videCECI estchar ch
4 octets : vide
5 octets : valeur [0]
6 octets : valeur[1]Ceci est unevaleur int;
7 octets : valeur [2]
8 octets : valeur [3]