在 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

是否可以在编译时写入此文件?

没有

但是,大多数构建系统都允许您在编译文件之前执行您想要的任何代码,这不是真正的元编程,但它可能会解决您的问题。