RePag
Seit über dreißig Jahren beschäftige ich mich mit IT-Technologien. Davon die letzten zwanzig Jahre mit Softwareentwicklung in C, C++ und Assembler x86, x64 für Windows. In dieser Zeit sind eine Menge Projekte entstanden, wovon ich Teil an diese Stelle veröffentliche.

Zielsetzung meiner Art der Softwareentwicklung ist es sehr schnelle Funktionen zu entwickeln. Daher ist sie sehr speicherorientiert bzw. hardwarenah und orientiert sich nicht an modernen Standards wie z.B. C++ 17. Es werden daher nur die Standartdatentypen und Arrays verwendet sowie die von mir entwickelten Abstract-Data-Types. Auch werden keine Fremdbibliotheken verwendet da diese immer eine Art Blackbox darstellen. Dies gilt insbesondere für ihre Threadsicherheit. Die Präfixe vor den Variablennamen sind hilfreich bei der Planung der Registerbreite beim Umschreiben von C-Funktionen nach Assembler.

Die an dieser Stelle veröffentlichen proprietären Bibliotheken können frei verwendet werden wobei ich keine Haftung für die Nutzung der Dateien übernehme. Alle Dateien verfügen über meine Digitale Signatur und einem Zeitstempel der Veröffentlichung. Sie sind in NuGet-Packages verpackt. Die Namen der Packages entsprechen auch dem Namespace zu dem sie gehören.

Zusätzlich werden einige Quelltexte, gemäß dem Open-Source-Prinzip veröffentlicht, soweit die Offenlegung nicht die Sicherheitsstruktur gefährdet. Die Projekte Core und CompSys können daher nicht offen gelegt werden. Es ist mir aber möglich Teile aus diesen Projekten zu veröffentlichen. Zum Beispiel das Memorymanagement und die Crypto-Algorythmen. Da der Quellcode bisher von mir alleine entwickelt wurde und nicht für eine Veröffentlichung vorgesehen war, enthält er keine Kommentare.

Die Voraussetzung für den Betrieb der 32bit-Dateien ist ein Prozessor der mindestens die SSE2 und AES-Instructions beherrscht. Für den Betrieb der 64bit-Dateien ist ein Prozessor notwendig der mindestens AVX2-Instructions beherrscht. Es werden nur Instructions verwendet die bei Intel und AMD Prozessoren vorhanden sind.

Folgende Dokumentationen werden für die Entwicklung und Orientierung der gemeinsamen Instructions verwendet.

In Anbetracht der globalen Verwendung meiner Bibliotheken werde ich nun doch zukünftig in Englisch schreiben. Die bestehenden Bibliotheken werden ebenfalls schrittweise ins Englische übertragen.

Wer mich in meiner Arbeit unterstützen möchte kann gerne eine Spende in beliebiger Höhe via PayPal senden https://PayPal.me/devrepag.
Vielen Dank.