Portage de Pigz sous Windows : un processus étonnamment simple de portabilité multiplateforme

2025-06-23
Portage de Pigz sous Windows : un processus étonnamment simple de portabilité multiplateforme

Pigz, un outil de compression de style Unix, s'est avéré étonnamment facile à porter sous Windows. L'article détaille les défis rencontrés, tels que les différences dans la bibliothèque de threads pthreads et les fonctions dirent, ainsi que de légères variations dans les noms des fonctions de la bibliothèque C. L'auteur a intelligemment utilisé des correctifs de compatibilité existants et le système de construction Premake pour surmonter ces obstacles. Premake a simplifié la création et la maintenance des fichiers de projet Visual Studio, aboutissant à une implémentation réussie de Pigz sous Windows.

Lire plus
Développement

Le développeur de SumatraPDF abandonne std::function après 16 ans, et crée sa propre solution

2025-06-15
Le développeur de SumatraPDF abandonne std::function après 16 ans, et crée sa propre solution

Après 16 ans de développement C++ sur SumatraPDF, l'auteur a abandonné `std::function` et les lambdas en raison de difficultés de débogage. Les rapports de plantage étaient difficiles à déchiffrer à cause des noms auto-générés des fonctions lambda générées par le compilateur. Il a créé des fonctions de rappel personnalisées plus simples, `Func0` et `Func1`. Bien que moins riches en fonctionnalités que `std::function`, elles offrent des avantages significatifs en termes d'empreinte mémoire et de vitesse de compilation, et sont plus faciles à déboguer. Cet article détaille la conception et l'implémentation de `Func0` et `Func1`, et explique pourquoi cette approche convient mieux aux besoins de SumatraPDF.

Lire plus
Développement