Sichere Division in C mit Maybe
2025-08-11
Dieser Artikel beschreibt die Implementierung von typsicheren und grenzen-sicheren generischen Containern in C. Der Autor führt einen `Maybe`-Typ ein, inspiriert von Haskell, um Funktionen zu behandeln, die möglicherweise keinen Wert zurückgeben (z. B. Division durch Null). Eine sichere Divisionsfunktion wird mithilfe von Makros erstellt, um `Maybe` zu definieren und die Division durch Null und den Grenzfall der Division der kleinsten darstellbaren Ganzzahl durch -1 zu behandeln. Der von GCC generierte Assemblercode wird analysiert, um die Sicherheit der Funktion zu überprüfen. Der Autor schließt mit dem Hinweis auf die Grenzen dieses Ansatzes, um die vollständige Sicherheit von C-Programmen zu beweisen.
Entwicklung