我需要帮助获得线索。我认为我编译 C 代码的微不足道的经验是理解如何使用一些 Raku 模块来使用 CommonMark C 库的接口将 markdown 转换为 HTML 的障碍。
问题:
我在 Mac 上cmark安装了自制程序库。我正在使用CommonMark模块。它有效,但如果我在 Markdown 中嵌入了 html,我会得到:
<!-- raw HTML omitted -->
在输出中。AFAICT,CommonMark 有一个打开或关闭此功能的选项:https://github.com/commonmark/cmark/blob/8a023286198a7e408398e282f293e3b0baebb644/src/html.c#L171
CommonMark 模块似乎不允许我将参数传递给 cmark 库。该模块似乎: https: //raku.land/github:JJ/ cmark::Simple
但是,我无法真正了解文档,因为我不明白如何与 cmark 库交互。我什至不确定这个模块是否可以在 Mac 上运行。该模块似乎假定它应该安装在 debian 上。
有人可以告诉我吗?
为通用问题标题道歉,我不知道如何正确表达它(欢迎提出建议!)
我试图了解Common Mark 解析器的一些代码并遇到了这个:
/* Oversize the buffer by 50% to guarantee amortized linear time
* complexity on append operations. */
bufsize_t new_size = target_size + target_size / 2;
new_size += 1;
new_size = (new_size + 7) & ~7;
Run Code Online (Sandbox Code Playgroud)
因此,给定一个数字,例如 32,它将加 (32 / 2) [48]、加 1 [49]、加 7 [56],最后与 -8 [56] 相加。
这是一种常见的模式吗?特别是添加一个数字,然后与它的补码进行 AND 运算。
是否有人能够深入了解这是做什么以及存在哪些优势(如果有)?