Génie logiciel

10
Pourquoi les structures compactes ne font-elles pas partie du langage C?

Chaque compilateur C offre la possibilité de "pack" des structures C (par exemple __attribute__ ((__packed__)), ou #pragma pack()). Maintenant, nous savons tous que l'emballage est nécessaire, si nous voulons envoyer ou stocker des données de manière fiable. Cela doit également être une exigence...

10
Comment déterminer ce qui devrait obtenir son propre contrôleur respectif?

J'utilise le modèle MVC dans mon application Web construite avec PHP. J'ai toujours du mal à déterminer si j'ai besoin d'un nouveau contrôleur dédié pour un ensemble d'actions ou si je dois les placer à l'intérieur d'un contrôleur déjà existant. Y a-t-il de bonnes règles générales à suivre lors de...

10
JIT de code machine et bit de désactivation d'exécution

Comment le code machine généré par l'exécution (comme la sortie d'un JIT) est-il réellement exécuté par la CPU si la CPU / OS a un bit de désactivation d'exécution? Pour autant que je sache, de nombreux processeurs et systèmes d'exploitation modernes incluent la prise en charge d'un bit NX (y...

10
Qu'est-ce qui fait un mauvais dossier pour un tri rapide?

J'apprends sur le tri rapide et je veux illustrer différents tableaux sur lesquels le tri rapide aurait du mal. Le tri rapide que j'ai en tête n'a pas de mélange aléatoire initial, fait 2 partitions et ne calcule pas la médiane. Jusqu'à présent, j'ai pensé à trois exemples: [1,2,3,4,5,6,7,8,9,10] -...

10
Message Queue for RTOS pour microcontrôleurs

J'écris actuellement un RTOS pour les microcontrôleurs. Le tout est écrit en C ++ 11 - si quelqu'un est intéressé, et le lien vers le référentiel est en bas. Actuellement, j'écris une classe qui est une simple file d'attente de données pour passer des objets entre des threads (ou entre des...