Stlink: Código limpio con tipo de variable unificada

Creado en 6 abr. 2020  ·  6Comentarios  ·  Fuente: stlink-org/stlink

Por lo que puedo ver, muchas funciones usan variables de longitud fija. De hecho, es útil para funciones que necesitan tratar con formato de datos fijo. Sin embargo, el abuso de las variables de longitud fija está causando posibles fallas en la construcción y conversiones no esenciales.

Por ejemplo en src / usb.c:
image

send_recv acepta txsize y rxsize como size_t pero en el contexto real, esos argumentos deben ser convertidos en int o unsigned int , sin una longitud fija, y quien lo llame proporciona argumentos de un tipo diferente ( uint32_t o números mágicos en este caso). La conversión involuntaria de 32 bits a 64 bits se aplica en el proceso de llamada. Además, para evitar un error de compilación, se requieren muchas conversiones explícitas.

Sugiero reemplazar las variables de longitud fija de acuerdo con sus usos reales.
Mantenerse borroso para ser más portátil.

Me gustaría probarlo si otros lo encuentran significativo.

codfeedback codrefactoring needissuer-feedback

Todos 6 comentarios

Gracias por poner esto en la agenda. Como es un problema general en todo el código base, no estoy seguro en este momento si deberíamos ponerlo en v1.6.1 de inmediato. @martonmiklos solicitó previamente hacer una limpieza relacionada con el estilo del código, que empujé al hito v1.6.2. Tal vez este también sea un buen lugar para este problema, aunque lo empujará un poco más.

Tal vez pueda hacer algo de limpieza localmente primero y hacer un seguimiento del proceso de desarrollo.

Bueno, por supuesto que puede, pero asegúrese de ramificarse desde develop y seguir esta rama, en lugar de master , que ya no se usa para cambios frecuentes, sino solo para lanzamientos y revisiones.

Con respecto a la compatibilidad entre ILP32, LLP64 y LP64 creo que sería una buena idea reemplazar el tipo de datos long por int32_t , pero si se quiere descartar sorpresas en el futuro relacionadas con conversión, podemos considerar movernos a tipos enteros de ancho fijo siempre que sea posible ...

@chenguokai : Te dejo esto. Puedes contribuir, si te apetece y tienes algo de tiempo.

Seguro que lo haré, antes del lanzamiento. Poniéndome ocupado ahora.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

vitormhenrique picture vitormhenrique  ·  13Comentarios

bolorkhuu picture bolorkhuu  ·  11Comentarios

renn0xtek9 picture renn0xtek9  ·  8Comentarios

tabemann picture tabemann  ·  5Comentarios

grzegorz-kraszewski picture grzegorz-kraszewski  ·  9Comentarios