要从m文件转换C文件,请使用
m4 prog.m > prog.s
gcc -o prog prog.s
./prog
是否有可能走另一条路?
我知道你可以做到
gcc -S prog.c
将其设为.s文件,但如何将其转换为.m?
答案 0 :(得分:0)
你不能,而且不清楚你为什么需要这样做。 .m
文件与C无关;它只包含某些由m4
扩展的宏以生成新的文本文件。您无法单独从输出文件中判断出哪些文本是由宏生成的。
一个简单的类比是1 + 3
和2 + 2
之类的一对和。两个总和(代表.m
个文件)都评估为4,但只给出4,你无法判断它是从1 + 3
还是2 + 2
产生的。
或者,你可以生成任何你想要的总和(0 + 4
,1 + 3
,1.5 + 2.5
),没有人能说它是错误的"和。同样,您可以生成无数个有效.m
文件中的任何一个,当通过m4
运行时,它会返回原始的.c
文件,但它不会真的很有用。