在 C++ 编译时写入文件?
Write to a file at compile time in C++?
我在做一些 C++ 元编程,我有以下代码:
main.cpp
#include <fstream>
int main() {
// not allowed
constexpr {
ofstream foo("foo.asm");
foo << "incq %rax\n";
foo.close();
}
__asm(
#include "foo.asm"
);
}
foo.asm
movw 5, %ax
movw 37, %bx
addb %bl, %al\n
adcb %bh, %ah
是否可以在编译时写入此文件?
没有
但是,大多数构建系统都允许您在编译文件之前执行您想要的任何代码,这不是真正的元编程,但它可能会解决您的问题。
我在做一些 C++ 元编程,我有以下代码:
main.cpp
#include <fstream>
int main() {
// not allowed
constexpr {
ofstream foo("foo.asm");
foo << "incq %rax\n";
foo.close();
}
__asm(
#include "foo.asm"
);
}
foo.asm
movw 5, %ax
movw 37, %bx
addb %bl, %al\n
adcb %bh, %ah
是否可以在编译时写入此文件?
没有
但是,大多数构建系统都允许您在编译文件之前执行您想要的任何代码,这不是真正的元编程,但它可能会解决您的问题。