0

我编写了一个 C++ 函数,用于将 markdown 格式的字符串转换为 html 格式的字符串,在 linux 上包装 C 库 libmarkdown2(折扣):

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;
}

这是线程安全的吗?也就是说,我可以安全地从不同的线程上下文并行多次调用这个函数吗?折扣降价句柄是否共享任何可能阻止这种情况的全局状态?我需要做任何特殊的每进程或每线程初始化来准备这种用法吗?

4

1 回答 1

2

据我所知,在 Discount 中唯一可能不能重入的就是mkd_initialize()函数,尽管我在 2.1.{mumble} 中做了一个小的重新设计,试图保持全局变量的静态。

于 2012-10-17T21:34:10.000 回答