Community

CLion und die Open-Source-Community: Wir wachsen zusammen

Read this post in other languages:

CLion wurde von Anfang an von den Bedürfnissen der C- und C++-Entwickler*innen aus aller Welt geprägt. Unsere plattformübergreifende IDE wurde erstellt, um die Entwicklung zu vereinfachen, die Produktivität zu steigern und die Arbeit mit C++ angenehmer zu gestalten.

Wir freuen uns, den nächsten Schritt in unserer kontinuierlichen Zusammenarbeit mit der Community zu gehen: CLion ist jetzt kostenlos für die nicht-kommerzielle Nutzung, einschließlich Open-Source-Entwicklung. Wenn Sie an einem OSS-Projekt mitarbeiten oder ein eigenes Projekt in Angriff nehmen, ist jetzt der perfekte Zeitpunkt, um es auszuprobieren.

Schauen Sie sich die unten aufgeführten Open-Source-Projekte an, die mit CLion entwickelt wurden – leistungsstarke Debugger, Reverse-Engineering-Tools, legendäre Dateimanager und Bibliotheken, die weltweit eingesetzt werden. Das sind gute Beispiele dafür, was Entwickler*innen erreichen können, wenn sie die richtigen Tools haben.

JSON for Modern C++

Erstellt von: Niels Lohmann

Tech-Stack: Header-only C++11+, CMake

Genutzte JetBrains-Tools: CLion

JSON for Modern C++ wurde im Rahmen eines Universitätsprojekts entwickelt. Es begann als Hilfsdatei für die Protokollierung von Analysedaten und entwickelte sich dann zu einer der beliebtesten C++-Bibliotheken auf GitHub mit fast 45.000 Sternen.

„… wir mussten analytische Informationen an einen Server senden. Ich begann mit einer nativen printf-Anweisung, die alle benötigten Variablen in ein JSON-Objekt einfügte. Bald wurde die Protokollierung komplexer, sodass ich alle JSON-bezogenen Funktionen in eine Header-Datei verschob. Daraus entstand dann eine eigenständige JSON-Bibliothek für C++.“

Die Bibliothek bietet eine intuitive C++-ähnliche Schnittstelle für das Parsen und die Serialisierung von JSON-Daten. Sie wird in vielen Branchen eingesetzt, von der Spieleentwicklung bis hin zur Luft- und Raumfahrt.

„Als Open-Source-Maintainer und -Mitwirkender habe ich nur wenig Zeit, an meinen Projekten zu arbeiten. Die einfache Testausführung, die Git-Integration und die Clang-Tidy-Warnungen von CLion helfen mir, produktiv zu bleiben und das Beste aus dieser Zeit rauszuholen.“

Zukunftspläne:

  • Automatisierung des manuellen Release-Prozesses.
  • Optimierung der Leistung und Bereinigung der Architektur.
  • Planung der Roadmap für die nächste Hauptversion: 3.0.0.

Midnight Commander

Gepflegt von: Yury Zaytsev

Tech-Stack: C, Autotools, POSIX, ncurses

Genutzte JetBrains-Tools: CLion, PyCharm

Midnight Commander (oder mc) ist ein klassischer Terminal-Datei-Manager mit einer langen Geschichte. Ursprünglich von Norton Commander aus den frühen 90er-Jahren inspiriert, ist er seither in der Unix-Community wegen seiner visuellen Oberfläche, seines Terminal-first-Designs und seiner Erweiterbarkeit weit verbreitet und beliebt.

Yury, der das Projekt seit 2015 pflegt, erinnert sich an seine frühe Faszination:

„Ich erinnere mich noch lebhaft daran, wie mich die blauen Bereiche des Norton Commander faszinierten, als ich fünf Jahre alt war. Jahre später entdeckte ich Unix-Systeme wieder, und das erste Programm, das ich installierte, war Midnight Commander. Es brachte den Zauber zurück – und so begann ich, meinen Beitrag zu leisten.“

Die Doppelfenster-Oberfläche half Generationen von Benutzer*innen, effizienter mit Unix-Systemen zu interagieren. Trotz der Herausforderungen wird die Entwicklung auch Jahrzehnte später noch fortgesetzt. JetBrains-Tools helfen dabei, dass die älter werdende Codebasis navigierbar bleibt:

„CLion hat die Art und Weise, wie ich Code schreibe, völlig verändert. Die Refactoring- und Umbenennungs-Tools, die Code-Navigation und Funktionen wie die Unterstützung von Makro-Erweiterungen sind von unschätzbarem Wert für die Pflege umfangreicher, jahrzehntealter Codebasen.“

Zukunftspläne:

  • Umstellung auf Ereignisschleife.
  • Refactoring und Modernisierung der Infrastruktur zur Verbesserung der Pflegbarkeit fortführen.
  • Einbettung einer leichtgewichtigen Scripting-Engine für Erweiterbarkeit.

ImHex

Erstellt von: Nikolaij Sägesser

Tech-Stack: C++, Qt, LLVM, benutzerdefinierte Scripting-Sprache

Genutzte JetBrains-Tools: CLion, Rider, WebStorm

ImHex begann als Nebenprojekt zur Erforschung des Designs von Programmiersprachen und der binären Datenstrukturen. Nikolaij Sägesser, der Schöpfer von ImHex, entwarf eine maßgeschneiderte Sprache, um Datentypen zu definieren und sie über binäre Daten zu legen. Was als Tool zur Visualisierung dieser Definitionen begann, entwickelte sich zu einem leistungsstarken, plattformübergreifenden Hex-Editor für Reverse Engineers.

„Ich begann während meiner Bachelorarbeit damit. Ich brauchte selbst solche Tools und einige Freunde waren mit dem, was es bereits gab, sehr unzufrieden. Das brachte mich dazu, weiterzumachen.“

ImHex bietet nun Custom-Skripting, Formatdefinition, Live-Parsing und Binärvisualisierung – alles in einer übersichtlichen, plattformübergreifenden GUI.

„Ich nutze hauptsächlich CLion und das ist toll. Die Möglichkeit, GCC und Clang auf allen Plattformen zu verwenden, insbesondere auf Windows, wo meistens MSVC erwartet wird, ist ein entscheidender Vorteil. Mit CLion kann ich Open-Source-Toolchains, Debugger und Build-Setups überall einsetzen – und es funktioniert einfach.“

Zukunftspläne:

  • Die eigens entwickelte domänenspezifische Programmiersprache so umschreiben, dass sie eine VM für die Ausführung verwendet.
  • Unterstützung für Binärformate erweitern.
  • Verbesserung von UI/UX und Hinzufügen weiterer Visualisierungs-Tools.

x64dbg

Erstellt von: Duncan Ogilvie

Tech-Stack: C++, Qt, CMake (jetzt cmkr), benutzerdefiniertes Plugin-System

Genutzte JetBrains-Tools: CLion

x64dbg ist ein bekannter Debugger bei Reverse-Engineers, insbesondere unter Windows, wo es in der Vergangenheit einen Mangel an zugänglichen Debugging-Tools gab. Duncan begann das Projekt als Highschool-Abschlussprojekt, um diese Lücke zu schließen, und ließ sich dabei von OllyDbg inspirieren.

„Zu dieser Zeit gab es nichts Benutzerfreundliches für 64-Bit-Debugging und ich war naiv genug, einfach mit dem Erstellen eines solchen Systems zu beginnen. 😅“

Mit mittlerweile über vier Millionen Downloads wird x64dbg weltweit von einer Vielzahl von Personen genutzt – von Indie-Hacker*innen über institutionelle Forscher*innen bis hin zum Vatikan. Das Projekt ist vor Kurzem über cmkr auf CMake umgestiegen, was die Entwicklung und die Mitarbeit vereinfacht.

„Wir sind von einem komplizierten Erstellungsprozess mit mehr als zehn Schritten dazu übergegangen, den Ordner in CLion zu öffnen und auf ‚Erstellen‘ zu klicken. Das Beste ist, dass die CMake- und Debug-Konfigurationen von einer einfachen Benutzeroberfläche aus vorgenommen werden können und keine Bastelei mit JSON-Dateien erforderlich ist.“

Obwohl x64dbg bereits gut eingerichtet und fest etabliert ist, wird es ständig weiterentwickelt. Die Entwicklung von Funktionen hat sich zwar aufgrund der begrenzten Zeit verlangsamt, aber die wichtigsten Bereiche der aktiven Arbeit sind:

  • Umstellung auf den Visual Studio 2022-Compiler für moderne C++-Unterstützung.
  • Integration von Windows-Typ-Unterstützung und AVX-512-Unterstützung.
  • Extrahieren von UI-Komponenten in eine wiederverwendbare, plattformübergreifende Bibliothek.

Diese Projekte und die Menschen, die dahinter stehen, verkörpern den Geist von Open Source: Lösung schwieriger Probleme, Austausch von Wissen und Entwicklung von Tools, auf die die Welt angewiesen ist. Wir sind davon überzeugt, dass diese Arbeit wichtig ist, und wir sind stolz darauf, diese Bemühungen zu unterstützen.

Holen Sie sich Ihre kostenlose Lizenz und erstellen Sie Ihr nächstes großes Projekt mit Sicherheit, Geschwindigkeit und Komfort.

Autorin des Original-Blogposts:

Lena Morozova

Lena Morozova

image description