如何在C ++中的编译时读取文件? [重复]

问题描述 投票:0回答:1

我一直在寻找一种在编译时将文件存储为const char*的方法。

我尝试这样做:

#define STRINGIFY(...) #__VA_ARGS__ // va args deals with commas
#define INCLUDE(path) #include path // error: '#' is not followed by a macro parameter

constexpr const char* source = STRINGIFY(INCLUDE("source.txt"));

但是很遗憾,您不能在宏扩展内放置include指令。有什么办法可以解决这个问题?还是通过其他方式在编译时获取文件内容?

c++ compilation include file-handling preprocessor-directive
1个回答
0
投票

执行此操作的经典方法是编写一个awk或perl脚本来读取数据文件并生成一个.H文件

© www.soinside.com 2019 - 2024. All rights reserved.