c++ - 如何在 C++ 编译时读取文件?
问题描述
我一直在尝试寻找一种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"));
但不幸的是,您不能将包含指令放在宏扩展中。有没有办法解决这个问题?或者在编译时获取文件内容的任何其他方式?
解决方案
执行此操作的经典方法是编写读取数据文件并生成 .H 文件的 awk 或 perl 脚本
推荐阅读
- r - 使用 ifelse 将 NA 映射到未知
- objective-c - Core Data Save 返回 False,但 Error 为零
- python - 使用远程 jupyter notebook 时导入模块问题
- java - 将 Docker 和 docker compose 与 Spring Boot REST 应用程序一起使用
- c - 我可以确定该类型是否是 C 中的指针类型吗?
- networking - Chrome 中的旧主机地址
- regex - Pyspark 从日期层次结构存储中读取选定的日期文件
- android - 引用稍后在 android 布局文件中定义的视图是否是一个好习惯
- java - 如何导出整个项目的调用层次结构
- powershell - 使用 PowerShell 脚本删除 CSV 文件的列和最后一行