Linux で C ライブラリ libmarkdown2 (Discount) をラップする html 形式の文字列にマークダウン形式の文字列を変換する C++ 関数を作成しました。
string markdown2html(const string& markdown)
{
auto m = mkd_string(&markdown[0], markdown.size(), 0);
mkd_compile(m, 0);
char* text;
int len = mkd_document(m, &text);
string html(text, text+len);
mkd_cleanup(m);
return html;
}
これはスレッドセーフですか?つまり、この関数を異なるスレッド コンテキストから並列に複数回安全に呼び出すことができますか? 割引のマークダウン ハンドルは、これを防ぐ可能性のあるグローバルな状態を共有していますか? このような使用に備えて、プロセスごとまたはスレッドごとに特別な初期化を行う必要がありますか?