У меня есть C API, который является очередью, используемой для передачи сообщений между потоками. Я хочу передать функцию std :: function , но для этого мне нужно разгромлить его в капсул данных о постоянной длине.
< Br /> function std :: function < /code> будет в основном из C ++ 11 Lambdas и будет захватывать ссылку или копирование. Я могу использовать кучу с обеих сторон C-Queue. Существует некоторая дискуссия о прохождении вещей C ++ через очередь на их форумах. В основном это говорит о том, что это нормально, если это стручка или тривиально конструктивно. void* контекст; } , и выполнить его как eded.fp (mated.context) ; Но я бы хотел что -то немного лучше с точки зрения читаемости, не жертвуя гораздо большим количеством ресурсов. (Редактировать: расширены при текущем использовании и потребностях) < /p>
Есть идеи, как это сделать? < /P>
Подробнее здесь: https://stackoverflow.com/questions/475 ... gh-a-c-api
Как пройти функцию STD :: с захватом через C API? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение