# C/C++ Demos

# C/C++ Demos

These C/C++ demos currently exist:
- Benchmark
- Small Test

If you want to use Imaging in C/C++ you must include ImagingImport.h header and link compiled ImagingImport.c file (both located in Source\Wrappers\Cpp directory) and for C++ use namespace Imaging. You must call ImLoadLibrary before usage of any Imaging functions and you must call ImFreeLibrary when you don't want to use library anymore.

All non-Object Pascal programs using Imaging require VampyreImaging.dll (Windows) or libVampyreImaging.so (Linux) to run. Compiled Imaging library must be located somewhere on system's search path for these demos to work.

Benchmark
This is not actually benchmark like Object Pascal version because all measured functions are called from external library, but it shows how to use Imaging dll from C/C++ at least.

## Demo Information

Name | Benchmark
Language | C++
Source Path | (Imaging Root)\Demos\Cpp\Benchmark
Exe Path | (Imaging Root)\Demos\Bin\BenchCpp.exe
Platforms (tested) | Win32
Compilers (tested) | MSVC 8.0 W, GCC 3.4.2 W
Demo shows usage of | low level (using dyn. library wrapper)

For details look at Object Pascal version. There are only two differences:
- Log file with result is called Results.Cpp.
- Executable must be located in Demos\Bin or anywhere in the subdirectories of Demos\Cpp dir to be able to find used data files.
Small Test
Simple test program that shows how to use Imaging library from C/C++ environment.

## Demo Information

Name | Small Test
Language | C/C++
Source Path | (Imaging Root)\Demos\Cpp\Test
Exe Path | (Imaging Root)\Demos\Bin\test[.exe]
Platforms (tested) | Win32, Linux
Compilers (tested) | MSVC 8.0 W, GCC 3.4.2 WL
Imaging interface | low level (using dyn. library wrapper)

Test image is created and diagonal line is drawn across it. Then it is saved to ctestimage.png file.