Errores, fallos, preguntas - página 2502
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Todavía no lo he podido entender.
No por el orden de los campos, sino por el valor máximo y fijo de pack() más depende del orden de los campos.
Ahora he hecho la siguiente variante
No se alinea a 16 como se especifica en pack(), sino a 8 por el doble máximo.
además depende de la secuencia de los campos.
comprobado, sí depende:
Su ejemplo diosizeof(A) = 24Así es como empezó esta discusión. Resulta que no es así en absoluto.
Sí, cometí un error al describir el algoritmo de alineación y, por lo tanto, puede haber causado aún más confusión.
Así que,
pack es un mecanismo de compatibilidad con las dlls externas. En particular, es análogo a c++ #pragma pack y por lo tanto debería funcionar de la misma manera.
otros ejemplos con dimensiones (para el paquete 4)
char -> 1
corto -> 2
int -> 4
largo -> 8
char, short -> 4
char, int -> 8
char, long -> 12 (16 para pack(8))
short, char -> 4
long, char -> 12
long, char, short -> 12
long, char, char, char -> 12
long, char, int -> 16
long, char, int, char -> 20
studio (y probablemente en todos los demás lugares) tiene como valor predeterminado pack(8)Gracias, ya veo.
En mi opinión, todo funciona. Como en tu ejemplo sólo hay un tipo en la estructura, no tiene sentido la alineación.
Se equivoca, no funciona correctamente. Tiene sentido. Es un error. https://www.mql5.com/ru/forum/1111/page2498#comment_12349659
Hola. ¿Podríais decirme si hay teclas de acceso rápido para operar en MT5? No los he encontrado en el manual. Si no es así, ¿hay alguna forma de implementarlo? Es decir, he pulsado una tecla y se ha abierto una orden, ¿hay algo similar?
No, no funciona bien. Tiene sentido. Es un error. https://www.mql5.com/ru/forum/1111/page2498#comment_12349659
Entonces, ¿cuál es el error?
Declaras un array de dos elementos con dos bytes cada uno y obtienes 4 bytes como debería ser. ¿Dónde está el bicho? ¿Qué?
Esto.
El array está alineado a 4 y 2 elementos ocuparán 2*8 bytes.
Hola. ¿Podríais decirme si hay teclas de acceso rápido para operar en MT5? No los he encontrado en el manual. Si no es así, ¿hay alguna forma de implementarlo? Es decir, he pulsado una tecla y se ha abierto una orden, ¿hay algo similar?
¿El gato pisó el teclado y cambió por ti?
Hágalo usted mismo: no es difícil.
Hola. ¿Podríais decirme si hay teclas de acceso rápido para operar en MT5? No los he encontrado en el manual. Si no es así, ¿hay alguna forma de implementarlo? Es decir, he pulsado una tecla y se ha abierto una orden, ¿hay algo similar?
Ayuda de la terminal:Teclas de acceso rápido - Usuarios avanzados - Primeros pasos
Si necesita realizar una acción "Sólo haga clic una vez y se abrirá una posición" - entonces una combinación de teclas debe ser asignada a un script o a un Asesor Experto en el terminal (el script o el Asesor Experto debe ser descargado, escrito u ordenado).
¿Ha pisado el gato el teclado y ha hecho un intercambio por ti?
Hazlo tú mismo, no es difícil.