gpt4 book ai didi

c++ - 使用预处理器将 JSON 作为字符串嵌入到 C++ 代码中

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:45 25 4
gpt4 key购买 nike

我在 Chromium 项目中看到了 C++ 和 JSON 代码的混合。

例如在这个文件中: config/software_rendering_list_json.cc

这个宏有什么神奇之处吗?

#define LONG_STRING_CONST(...) #__VA_ARGS__

它如何“字符串化”任意 JSON 内容?

最佳答案

Cameron 的回答绝对正确。

但是,从 C++11 开始,有一个编译器支持的方法来创建原始字符串文字。

char const *string = R"someToken({
"name": "software rendering list",
"version": "10.9",
"entries": [
{
"id": 1,
"description": "ATI Radeon X1900 is not compatible with WebGL on the Mac",
"webkit_bugs": [47028],
"os": {
"type": "macosx"
},
"vendor_id": "0x1002",
"device_id": ["0x7249"],
"features": [
"webgl",
"flash_3d",
"flash_stage3d"
]
},
{
"id": 3,
"description": "GL driver is software rendered. GPU acceleration is disabled",
"cr_bugs": [59302, 315217],
"os": {
"type": "linux"
},
"gl_renderer": "(?i).*software.*",
"features": [
"all"
]
}
]
})someToken";

但是请注意,存在一些细微差别。

最明显的是,该宏将去除 C/C++ 注释,并且该宏会将所有空白合并为一个空格。

有关字符串文字的更多详细信息可以在很多地方找到。我喜欢this one .

关于c++ - 使用预处理器将 JSON 作为字符串嵌入到 C++ 代码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32082004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com