Application designed to practice C++ and test some possible improvements for different sorting algorhytms.
Application written on C++ 20 with CMake build system.
-
Prepare Windows environment
Download Microsoft Visual Studio Community, and during installation process enable C and C++ checkboxes. Developer command prompt will be installed as part of the MSVC package.
-
Prepare Linux environment
Application has a build-time dependcy on the next packages:
gcc g++ gcc-multilib g++-multilib cmake build-essentials
- Prepare 32-bit build environment. MS Visual Studio for x64 does not support inline assembly.
- Without printing an array
cmake -B ./build -A Win32 -D SET_ARRAY_SIZE:INT=20 - Print the array itself
cmake -B ./build -A Win32 -DENABLE_PRINT_ARRAY:BOOL=1 -D SET_ARRAY_SIZE:INT=20
- Without printing an array
- Build dksort_app executable:
- Build release app
cmake --build build --config Release - Build debug app
cmake --build build --config Debug
- Build release app
- Prepare build environment. Compilation flags already contains -m32 flag for building 32bit app.
Supprted build types are Release and Debug. Release produces optimized and stripped tiny executable binary.
Debug produces "fat" executable binary without compiler optimization and with all necessary debug information for GDB.
- Without printing an array
cmake -B build --toolchain toolchains/i386.cmake -DSET_ARRAY_SIZE:INT=20 -DCMAKE_BUILD_TYPE=Release - Print the array itself
cmake -B build --toolchain toolchains/i386.cmake -DENABLE_PRINT_ARRAY:BOOL=1 -DSET_ARRAY_SIZE:INT=20 -DCMAKE_BUILD_TYPE=Release
- Without printing an array
- Build dksort_app executable:
cmake --build build
-
Install library on your host machine (Optional):
TODO -
Installed files can be removed from the host system:
TODO
Current project developed under GNU General Public License v3.0. Text of the licence can be found in LICENSE file of current repository or on the official web site: https://www.gnu.org/licenses/gpl-3.0.html