Мне нужно написать регистрацию api, которая выполняет фактическое ведение журнала в отдельном потоке.захватить стек вызовов и выполнить его в другом потоке
У меня есть приложение, которое хочет зарегистрировать некоторую информацию. Он вызывает мой API, и api захватывает все аргументы и т. Д., А затем передает их отдельному потоку для регистрации.
Регистратор api принимает вариативные аргументы, и поэтому мои первоначальные мысли заключались в том, чтобы захватить весь стек вызовов и как-то передать его потоку, который будет вести журнал.
Я рад, что я могу захватить стек вызовов. Однако я не уверен, как передать этот стек вызовов другому методу.
Я использую g ++ на linux, и ему также может потребоваться работать с CC CC CC на Solaris.
Любые идеи.
Спасибо, Фредерик. Это и есть причина, лежащая в основе резака с резьбой. Я хочу, чтобы медленная работа диска io ушла в другой поток. Я попытался скопировать стек, но, конечно, это все равно означает, что все объекты, которые регистрируются, должны быть достаточно длинными, чтобы их можно было заносить в журнал. Я думаю, вы идете построить строку ведения журнала в точке вызова, а затем передать ее в журнал - это лучший подход. – ScaryAardvark