-DUSE_C11_AND_CXX11=ON). Also, EMB² provides an own implementation of atomic operations for x86 and ARM to be usable with older compilers (C99/C++03).
EMBB_PLATFORM_*defines. To port the code, add appropriate implementations for your platform. Please see CONTRIBUTING.md for more details.
docfolder in the root directory contains a tutorial (
doc/tutorial/tutorial.[pdf|html|epub]), the reference manual (
doc/reference/reference.pdf), a number of simple examples (
doc/examples), as well as a more complex application (
doc/tutorial/application). Note that the documentation is only available in the release files. If you pull from the repository, you have to build them on your own (see the README.md file for more information).
embb::base::Thread). As usual in task-based programming models, however, explicit thread creation is only recommended in rare cases, e.g., for I/O or graphical user interfaces. For all other purposes, it is most efficient to rely on the implicitly created worker threads of the task scheduler.
mtapi_c/src/embb_mtapi_scheduler_t.c. Currently, there are two task stealing strategies (from different queues):
embb_mtapi_scheduler_get_next_task_vhpf: high priority first
embb_mtapi_scheduler_get_next_task_lf: local queues first
mtapi_c/src/embb_mtapi_scheduler_t.hand by adding a call to the corresponding function in
embb_mtapi_scheduler_get_next_task. Distribution of tasks between multiple nodes is currently implemented in a round-robin fashion (see