我正在编写一种编程语言,将源文件转换为C++并编译它们。C++:导入/包含系统
我想添加一种方式来处理大量文件,将它们编译为.o
文件,从而可以使用makefile。一个更好的解释(感谢@Beta):
你有一个工具,可读取源文件(
foo.FN
)和写入C++源文件和头文件(foo.cpp
和foo.h
)。然后编译器(gcc
)读取这些源文件和头文件(foo.cpp
和foo.h
)并写入一个目标文件(foo.o
)。也许有相互依存关系(bar.cpp
需要foo.h
)。
的问题是:我的翻译删除.cpp
和.h
的GCC编译后他们。因为这样,它不能使用#include
,因为它会编译时,引用的文件不再存在。我如何解决这个问题?
很难理解你所要求的。通常编译是通过'Makefile','Rakefile'或任何其他**构建自动化**项目自动完成的。我不认为你想在编译后**删除**你的源代码,我想你可能需要不时清理你的项目的状态(这意味着:删除中间对象'.o',或者删除最终链接的可执行文件使用编译自动化软件可以仅编译依赖于已更改源的中间文件,从而缩短编译时间。 –
@MatteoRagni我的程序会创建C++文件来编译它,所以我不希望用户看到这些文件,因为他会使用我的语言,而不是C++。为此,我需要在编译之前删除这些文件。为了用户能够使用'makefiles'或类似的东西,程序需要编译为'.o',但我不想保存C++文件。 –
对不起,但恕我直言,你必须仔细改写你的问题。我很难理解你在做什么以及你想达到什么。 –