C11 framework to create console, forms (GUI like WinForms) and unit test applications on Windows, macOS, Linux, iOS and android.
Free and open-source (MIT License); a collection of native C++ classes libraries, to complete std; API close to the .net API with a modern C++ approach and full integration with the std standard; xtd is designed to manage GUI controls and dialogs in pure native mode or with CSS styles. written in efficient, modern C++17 / C++20 with RAII programming idiom; and highly portable and available on many different platforms (Windows, macOS, Linux, iOS and android);
xtd_c is composed of several libraries.
The xtd_c.core library is modern C++17/20 libraries of classes, interfaces, and value types that provide access to system functionality. It is the foundation on which c++ applications, components, and controls are built.
The xtd_c.drawing library contains types that support basic GDI+ graphics functionality. Child namespaces support advanced two-dimensional and vector graphics functionality, advanced imaging functionality, and print-related and typographical services. A child namespace also contains types that extend design-time user-interface logic and drawing.
The xtd_c.forms library contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows, Apple macOS and linux base operating system.
The xtd_c.tunit library is a unit-testing framework for modern C++17/20 inspired by Microsoft.VisualStudio.TestTools.Cpp.
Installation provides download, install and uninstall documentation. Guide provides xtd guides and tutorials. Examples provides some examples.
The classic first application 'Hello World'.
hello_world_console.c:
CMakeLists.txt:
Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following:
hello_world_forms.c:
CMakeLists.txt:
Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following:
Windows:
macOS:
Linux Gnome:
hello_world_test.c:
CMakeLists.txt:
Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following: