{"id":1868,"date":"2024-12-11T11:38:16","date_gmt":"2024-12-11T03:38:16","guid":{"rendered":"https:\/\/www.madbull.site\/?p=1868"},"modified":"2025-09-18T10:28:19","modified_gmt":"2025-09-18T02:28:19","slug":"doxygen-%e8%87%aa%e5%8a%a8%e7%94%9f%e6%88%90%e6%96%87%e6%a1%a3%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/www.madbull.site\/?p=1868","title":{"rendered":"doxygen&#8211;\u81ea\u52a8\u751f\u6210\u6587\u6863\u5de5\u5177"},"content":{"rendered":"\n<p class=\"has-large-font-size\"><strong>\u7b80\u4ecb<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>doxygen\u662f\u8f6f\u4ef6\u5f00\u53d1\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u6587\u6863\u751f\u6210\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u4ece\u6e90\u4ee3\u7801\u6ce8\u91ca\u4e2d\u81ea\u52a8\u751f\u6210\u6587\u6863\uff0c\u89e3\u6790\u7c7b\u3001\u51fd\u6570\u3001\u53c2\u6570\u76f8\u5173\u4fe1\u606f\uff0c\u5e76\u751f\u6210 HTML \u548c PDF \u683c\u5f0f\u7684\u6587\u6863\u3002doxygen \u7b80\u5316\u4e86\u5e76\u4e14\u6807\u51c6\u5316\u4e86\u6587\u6863\u751f\u6210\u8fc7\u7a0b\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8de8\u7f16\u7a0b\u8bed\u8a00\u548c\u9879\u76ee\u6765\u7ef4\u62a4\u7ba1\u7406\u9879\u76ee\uff0c\u589e\u5f3a\u7f16\u7801\u534f\u52a9\u80fd\u529b\u3002<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u5b98\u65b9\u5730\u5740\uff1a<a href=\"https:\/\/www.doxygen.nl\/index.html\">https:\/\/www.doxygen.nl\/index.html<\/a><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u5b89\u88c5<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u5b89\u88c5doxygen\uff1aapt install doxygen<\/p>\n\n\n\n<p>\u4f9d\u8d56dot\u5de5\u5177\uff0c\u8fd8\u9700\u8981\u5b89\u88c5\uff1aapt install graphviz<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u793a\u4f8b<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u62ff\u4e00\u4e2a\u5c0f\u7684\u5f00\u6e90\u9879\u76ee libucl \u505a\u4e00\u4e2a\u6d4b\u8bd5\uff0clibucl\u7684\u6e90\u4ee3\u7801\u5728\uff1a<a href=\"https:\/\/github.com\/vstakhov\/libucl\">https:\/\/github.com\/vstakhov\/libucl<\/a><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u83b7\u53d6\u4ee3\u7801\uff1agit clone https:\/\/github.com\/vstakhov\/libucl.git<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u751f\u6210 doxygen \u7684\u914d\u7f6e\u6587\u4ef6\uff1adoxygen -g \u3002\u9ed8\u8ba4\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u751f\u6210 Doxyfile \u6587\u4ef6\u3002<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"446\" height=\"293\" src=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-24.png\" alt=\"\" class=\"wp-image-1871\" srcset=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-24.png 446w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-24-300x197.png 300w\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" \/><\/figure>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u5bf9\u6587\u4ef6\u4e2d\u7684\u8f93\u5165\u548c\u8f93\u51fa\u7b49\u914d\u7f6e\u505a\u4e2a\u4fee\u6539<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>INPUT = src\nOUTPUT_DIRECTORY = docs\nHAVE_DOT = YES\nCALL_GRAPH = YES\nCALLER_GRAPH = YES\nDOT_PATH = \/usr\/bin # \u5982\u679c dot \u4e0d\u5728 PATH\uff0c\u9700\u6307\u5b9a\u8def\u5f84<\/code><\/pre>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u6267\u884c\uff1adoxygen \u751f\u6210\u6587\u6863<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"293\" src=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-25.png\" alt=\"\" class=\"wp-image-1872\" srcset=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-25.png 623w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-25-300x141.png 300w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/figure>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u8fdb\u5165\u76ee\u5f55\u67e5\u770b\u751f\u6210\u7684\u6587\u6863<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"931\" height=\"277\" src=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-26.png\" alt=\"\" class=\"wp-image-1873\" srcset=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-26.png 931w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-26-300x89.png 300w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-26-768x229.png 768w\" sizes=\"auto, (max-width: 931px) 100vw, 931px\" \/><\/figure>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u642d\u5efa\u7b80\u5355\u7684\u7f51\u7ad9\uff0c\u67e5\u770b\u6587\u6863\u3002<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u53ef\u4ee5\u4f7f\u7528 python3 \u7684 http.server \u6a21\u5757<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"515\" height=\"68\" src=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-27.png\" alt=\"\" class=\"wp-image-1874\" srcset=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-27.png 515w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-27-300x40.png 300w\" sizes=\"auto, (max-width: 515px) 100vw, 515px\" \/><\/figure>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>\u8bbf\u95ee\u521a\u642d\u5efa\u7684\u7f51\u7ad9\uff0c\u968f\u4fbf\u70b9\u70b9\u3002<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" src=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-28-1024x681.png\" alt=\"\" class=\"wp-image-1875\" srcset=\"https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-28-1024x681.png 1024w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-28-300x200.png 300w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-28-768x511.png 768w, https:\/\/www.madbull.site\/wp-content\/uploads\/2024\/12\/\u56fe\u7247-28.png 1249w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-large-font-size\"><strong>\u6ce8\u91ca\u7b80\u5355\u8bf4\u660e<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>doxygen\u652f\u6301 C\/C++\/golang\/C#\/Java\/PHP\/Python\/Ruby \u7b49\u5f88\u591a\u8bed\u8a00\uff0c\u9700\u8981\u5728\u4ee3\u7801\u4e2d\u89c4\u8303\u5316\u7f16\u5199\u6ce8\u91ca\u5c31\u53ef\u4ee5\u5b9e\u73b0\u81ea\u52a8\u751f\u6210\u6587\u6863<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>C\/C++<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\u51fd\u6570\/\u65b9\u6cd5\n\/**\n * \u7b80\u77ed\u63cf\u8ff0\u3002\n *\n * \u66f4\u8be6\u7ec6\u7684\u63cf\u8ff0...\n *\n * @param param1 \u53c2\u65701\u7684\u8bf4\u660e\u3002\n * @param param2 \u53c2\u65702\u7684\u8bf4\u660e\u3002\n * @return \u8fd4\u56de\u503c\u7684\u8bf4\u660e\u3002\n *\/\nvoid myFunction(int param1, float param2);\n\n\u7c7b\/\u7ed3\u6784\u4f53\n\/**\n * \u7c7b\u7684\u7b80\u77ed\u63cf\u8ff0\u3002\n *\n * \u66f4\u8be6\u7ec6\u7684\u63cf\u8ff0...\n *\/\nclass MyClass {\npublic:\n    \/**\n     * \u6784\u9020\u51fd\u6570\u7684\u7b80\u77ed\u63cf\u8ff0\u3002\n     *\/\n    MyClass();\n};\n\n\u6210\u5458\u53d8\u91cf\n\/\/\/ \u7b80\u77ed\u63cf\u8ff0\u3002\nint myVariable;<\/code><\/pre>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>python<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\u6a21\u5757\u53ca\u6ce8\u91ca\n\"\"\"\nModule-level brief description.\n\nThis module provides functionality for ...\n\"\"\"\n\n# Alternatively, you can use single-line comments with specific tags:\n# @file my_module.py\n# @brief Module-level brief description.\n\n\u51fd\u6570\/\u65b9\u6cd5\ndef my_function(param1, param2):\n    \"\"\"\n    \u7b80\u77ed\u63cf\u8ff0\u3002\n\n    \u66f4\u8be6\u7ec6\u7684\u63cf\u8ff0...\n\n    :param param1: \u53c2\u65701\u7684\u8bf4\u660e\u3002\n    :param param2: \u53c2\u65702\u7684\u8bf4\u660e\u3002\n    :returns: \u8fd4\u56de\u503c\u7684\u8bf4\u660e\u3002\n    \"\"\"\n    pass\n\n\u8fd8\u9700\u8981\u5728 doxygen \u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u8bbe\u7f6e\u5bf9 Python \u7684\u652f\u6301\nINPUT                  = .\/your-python-source-directory\/\nFILE_PATTERNS          = *.py\nOPTIMIZE_OUTPUT_PYTHON = YES  # Optimize output for Python syntax\nEXTRACT_ALL            = YES  # Extract all symbols, not just those with documentation comments<\/code><\/pre>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>golang<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>\u51fd\u6570\/\u65b9\u6cd5\n\/\/ Short description of the function.\n\/\/\n\/\/ Detailed description of the function, if needed.\n\/\/ \n\/\/ @param param1 Description of the first parameter.\n\/\/ @param param2 Description of the second parameter.\n\/\/ @return Description of the return value.\nfunc myFunction(param1 int, param2 string) (int, error) {\n    \/\/ Function implementation...\n}\n\n\u7c7b\u578b\u5b9a\u4e49\uff08\u7ed3\u6784\u4f53\uff09\n\/\/ MyStruct is a brief description of the struct.\ntype MyStruct struct {\n    \/\/ Field1 is a brief description of this field.\n    Field1 int\n\n    \/\/ Field2 is a brief description of this field.\n    Field2 string\n}<\/code><\/pre>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>\u4f7f\u7528\u6807\u8bb0<\/strong><\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Doxygen \u63d0\u4f9b\u4e86\u5927\u91cf\u7684\u6807\u8bb0\u6765\u63cf\u8ff0\u4e0d\u540c\u7684\u5143\u7d20\uff0c\u4f8b\u5982\u53c2\u6570\u3001\u8fd4\u56de\u503c\u3001\u4f5c\u8005\u7b49\u3002\u4e00\u4e9b\u5e38\u7528\u7684\u6807\u8bb0\u5305\u62ec\uff1a<\/p>\n\n\n\n<div style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20);height:0px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>@param<\/code> \u6216 <code>\\param<\/code>\uff1a\u63cf\u8ff0\u51fd\u6570\u6216\u65b9\u6cd5\u7684\u53c2\u6570\u3002<\/li>\n\n\n\n<li><code>@return<\/code> \u6216 <code>\\return<\/code>\uff1a\u63cf\u8ff0\u51fd\u6570\u6216\u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u3002<\/li>\n\n\n\n<li><code>@brief<\/code> \u6216 <code>\\brief<\/code>\uff1a\u63d0\u4f9b\u4e00\u4e2a\u7b80\u77ed\u7684\u63cf\u8ff0\u3002<\/li>\n\n\n\n<li><code>@see<\/code> \u6216 <code>\\see<\/code>\uff1a\u5f15\u7528\u5176\u4ed6\u51fd\u6570\u3001\u7c7b\u6216\u6587\u4ef6\u3002<\/li>\n\n\n\n<li><code>@author<\/code> \u6216 <code>\\author<\/code>\uff1a\u6307\u5b9a\u4ee3\u7801\u7684\u4f5c\u8005\u3002<\/li>\n\n\n\n<li><code>@file<\/code> \u6216 <code>\\file<\/code>\uff1a\u4e3a\u6574\u4e2a\u6587\u4ef6\u6dfb\u52a0\u63cf\u8ff0\u3002<\/li>\n\n\n\n<li><code>@warning<\/code> \u6216 <code>\\warning<\/code>\uff1a\u7ed9\u51fa\u8b66\u544a\u4fe1\u606f\u3002<\/li>\n\n\n\n<li><code>@note<\/code> \u6216 <code>\\note<\/code>\uff1a\u63d0\u4f9b\u989d\u5916\u7684\u6ce8\u610f\u4e8b\u9879\u3002<\/li>\n\n\n\n<li><code>@deprecated<\/code> \u6216 <code>\\deprecated<\/code>\uff1a\u6807\u8bc6\u5df2\u5e9f\u5f03\u7684\u529f\u80fd\u3002<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>doxygen\u662f\u8f6f\u4ef6\u5f00\u53d1\u4e2d\u5e7f\u6cdb\u4f7f\u7528\u7684\u6587\u6863\u751f\u6210\u5de5\u5177\u3002\u5b83\u53ef\u4ee5\u4ece\u6e90\u4ee3\u7801\u6ce8\u91ca\u4e2d\u81ea\u52a8\u751f\u6210\u6587\u6863\uff0c\u89e3\u6790\u7c7b\u3001\u51fd\u6570\u3001\u53c2\u6570\u76f8\u5173\u4fe1\u606f\uff0c\u5e76\u751f\u6210 HTML \u548c PDF \u683c\u5f0f\u7684\u6587\u6863\u3002doxygen \u7b80\u5316\u4e86\u5e76\u4e14\u6807\u51c6\u5316\u4e86\u6587\u6863\u751f\u6210\u8fc7\u7a0b\uff0c\u53ef\u4ee5\u5b9e\u73b0\u8de8\u7f16\u7a0b\u8bed\u8a00\u548c\u9879\u76ee\u6765\u7ef4\u62a4\u7ba1\u7406\u9879\u76ee\uff0c\u589e\u5f3a\u7f16\u7801\u534f\u52a9\u80fd\u529b\u3002<\/p>\n","protected":false},"author":1,"featured_media":552,"comment_status":"open","ping_status":"open","sticky":false,"template":"single-with-sidebar","format":"standard","meta":{"footnotes":""},"categories":[166,154],"tags":[617,613,287,618,619,142,616,614,615],"class_list":["post-1868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tools","category-154","tag-c-c","tag-doxygen","tag-golang","tag-html","tag-pdf","tag-python","tag-616","tag-614","tag-615"],"_links":{"self":[{"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/posts\/1868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.madbull.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1868"}],"version-history":[{"count":7,"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/posts\/1868\/revisions"}],"predecessor-version":[{"id":2318,"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/posts\/1868\/revisions\/2318"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.madbull.site\/index.php?rest_route=\/wp\/v2\/media\/552"}],"wp:attachment":[{"href":"https:\/\/www.madbull.site\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.madbull.site\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.madbull.site\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}