Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/preshing/cpp11-on-multicore
Various synchronization primitives for multithreaded applications in C++11.
https://github.com/preshing/cpp11-on-multicore
Last synced: 15 days ago
JSON representation
Various synchronization primitives for multithreaded applications in C++11.
- Host: GitHub
- URL: https://github.com/preshing/cpp11-on-multicore
- Owner: preshing
- License: zlib
- Created: 2015-03-16T09:19:06.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-10T23:00:38.000Z (over 7 years ago)
- Last Synced: 2024-07-31T22:43:36.522Z (3 months ago)
- Language: C++
- Size: 49.8 KB
- Stars: 518
- Watchers: 51
- Forks: 105
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Various synchronization primitives for multithreaded applications in C++11.
Used in the blog post, [Semaphores are Surprisingly Versatile](http://preshing.com/20150316/semaphores-are-surprisingly-versatile).
Code is released under the [zlib license](http://en.wikipedia.org/wiki/Zlib_License). See the `LICENSE` file.
## How to Build the Tests
First, you must generate the projects using [CMake](http://www.cmake.org/). Open a command prompt in the `tests/basetests` folder and do the following.
mkdir build
cd build
cmake ..`cmake` takes an optional `-G` argument to specify which project generator to use. For example, the following command will use the Visual Studio 2013 generator. A complete list of available generators can be found by running `cmake` with no arguments.
cmake -G "Visual Studio 12 2013" ..
On a Unix-like OS, to generate a makefile that builds the release configuration:
cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ..
To generate projects for iOS devices, use the following.
cmake -DCMAKE_TOOLCHAIN_FILE=../../cmake/iOS.cmake -G "Xcode" ..
To build the project, simply use the generated project files as you would normally. On some platforms, you can use CMake to perform the build step, too. For example, on Windows, you can use the command:
cmake --build . --config Release