【发布时间】:2020-03-30 14:37:59
【问题描述】:
我正在做一些 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 $255, %ax
movw $1137, %bx
addb %bl, %al\n
adcb %bh, %ah
是否可以在编译时写入该文件?
【问题讨论】:
-
C 还是 C++?你在 Q 中说 C,但你有一个 cpp 文件,它通常用于 C++。
-
@NathanOliver 我最初是在 C 中做的,但我不介意只适用于 C++ 的答案,但好点,我改变了它
-
@Sapphire_Brick 谢谢。为此,您将需要使用构建系统。
-
你到底想在这里实现什么?为什么要生成内联汇编块而不是使用预处理器或模板(在 C++ 中进行一些元编程的典型方法)?
-
@user7860670 我想编译另一个文件,获取输出,然后在编译时将其插入
main
标签: c++ file compile-time