We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
タイトル通りです。
C FFIのラッパーがそれぞれの言語にあった形(Loggerなど)でログを出せるようになる
ないはず?
struct VoicevoxLogObject { VoicevoxLogLevel level; char* message; } typedef void (*voicevox_log_callback)(VoicevoxLogObject); void voicevox_set_log_callback(voicevox_log_callback callback);
0.15.0(vvm-async-api)
(なし)
The text was updated successfully, but these errors were encountered:
気付いたのですがこれをやるためには #541 を、少なくとも「panic=abortのまますべてをextern "C-unwind"にする」という形でやらないといけませんね。やらない場合、「絶対にコールバックからunwindするな」という注意書きを書くことになります。
panic=abort
extern "C-unwind"
#541 で以下の表を引用しましたが、extern "C"からC++の例外を発射することは例えpanic=abort下であってもUBです。これを防ぐにはコールバックが呼ばれうるすべての関数をextern "C-unwind"にする他ありません。
extern "C"
panic runtime ABI panic-unwind Unforced foreign unwind panic=unwind "C-unwind" unwind unwind panic=unwind "C"-like abort UB panic=abort "C-unwind" panic! aborts abort panic=abort "C"-like panic! aborts (no unwinding occurs) UB
panic
panic=unwind
"C-unwind"
"C"
panic!
2945-c-unwind-abi - The Rust RFC Book
Sorry, something went wrong.
このissueですが、 #545 から一旦外しました。 (後で入れてもおそらくbreaking changeではないので)
No branches or pull requests
内容
タイトル通りです。
Pros 良くなる点
C FFIのラッパーがそれぞれの言語にあった形(Loggerなど)でログを出せるようになる
Cons 悪くなる点
ないはず?
実現方法
VOICEVOXのバージョン
0.15.0(vvm-async-api)
OSの種類/ディストリ/バージョン
その他
(なし)
The text was updated successfully, but these errors were encountered: