Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能创建一个c++;是否使用makefile从.o对象文件创建文件? 我想做的是从一个对象文件中创建一个C++文件,但是我不能想出一个方法来做。 INCLUDEDIR = ../headers CXXFLAGS = -std=c++11 -I $(INCLUDEDIR) -Wall -Wfatal-errors -O2 all:primeFactors.o primeFactors.o: primeFactors.cpp $(INCLUDEDIR)/primeFactors.h g++ $(CXXFLAGS) -c $< -o $@ INCLUDEDIR=../headers CXXFLAGS=-std=c++11-I$(INCLUDEDIR)-Wall-Wfatal errors-O2 全部:基本要素 primeFactors.o:primeFactors.cpp$(INCLUDEDIR)/primeFactors.h g++$(CXXFLAGS)-c$从.O对象文件创建C++文件吗?_C++_Makefile - Fatal编程技术网

你能创建一个c++;是否使用makefile从.o对象文件创建文件? 我想做的是从一个对象文件中创建一个C++文件,但是我不能想出一个方法来做。 INCLUDEDIR = ../headers CXXFLAGS = -std=c++11 -I $(INCLUDEDIR) -Wall -Wfatal-errors -O2 all:primeFactors.o primeFactors.o: primeFactors.cpp $(INCLUDEDIR)/primeFactors.h g++ $(CXXFLAGS) -c $< -o $@ INCLUDEDIR=../headers CXXFLAGS=-std=c++11-I$(INCLUDEDIR)-Wall-Wfatal errors-O2 全部:基本要素 primeFactors.o:primeFactors.cpp$(INCLUDEDIR)/primeFactors.h g++$(CXXFLAGS)-c$从.O对象文件创建C++文件吗?

你能创建一个c++;是否使用makefile从.o对象文件创建文件? 我想做的是从一个对象文件中创建一个C++文件,但是我不能想出一个方法来做。 INCLUDEDIR = ../headers CXXFLAGS = -std=c++11 -I $(INCLUDEDIR) -Wall -Wfatal-errors -O2 all:primeFactors.o primeFactors.o: primeFactors.cpp $(INCLUDEDIR)/primeFactors.h g++ $(CXXFLAGS) -c $< -o $@ INCLUDEDIR=../headers CXXFLAGS=-std=c++11-I$(INCLUDEDIR)-Wall-Wfatal errors-O2 全部:基本要素 primeFactors.o:primeFactors.cpp$(INCLUDEDIR)/primeFactors.h g++$(CXXFLAGS)-c$从.O对象文件创建C++文件吗?,c++,makefile,C++,Makefile,当我试图建立这个,我得到了 make:**没有规则将目标设置为'primeFactors.cpp',需要 “primeFactors.o”。停止。 我理解,但当我取出primeFactor.cpp参数时,我会被告知make文件没有任何操作。那么有没有办法做到这一点呢?一般来说;不,你不能那样做。对象文件(.o文件)是代码经过编译器前端(用于解析语言)、优化器(使其快速运行)和编译器后端(用于生成将在CPU上运行的代码)的结果。 这个过程是不可逆的。您不能从编译后的代码返回到源代码 可以用.fil

当我试图建立这个,我得到了

make:**没有规则将目标设置为'primeFactors.cpp',需要
“primeFactors.o”。停止。


我理解,但当我取出primeFactor.cpp参数时,我会被告知make文件没有任何操作。那么有没有办法做到这一点呢?

一般来说;不,你不能那样做。对象文件(.o文件)是代码经过编译器前端(用于解析语言)、优化器(使其快速运行)和编译器后端(用于生成将在CPU上运行的代码)的结果。 这个过程是不可逆的。您不能从编译后的代码返回到源代码

可以用.file文件?< /p>从.O对象文件创建C++文件吗?
makefile
只允许您在有底层工具的情况下这样做
make
,它使用makefiles来完成它的工作,没有任何内置机制来实现这一点

您的
makefile
有一个构建
primeFactors.o
的规则

primeFactors.o: primeFactors.cpp $(INCLUDEDIR)/primeFactors.h

它说构建
primeFactors.o
需要
cpp
$(INCLUDEDIR)/primeFactors.h
。如果您没有这些文件,或者没有规则来构建它们,那么
make
就无法构建
primeFactors.o

为什么您认为这是可能的?有一个完整的网络专门用于此。这并不像编译对象文件然后神奇地从中获取cpp文件那么简单,这就是所谓的。我敢打赌这不是你想做的,除非你想窃取礼仪规范。回答你问题的标题:是的,只要你有
Make
执行将
.o
转换为
.cpp
的工具。基本上,
Make
根据依赖规则执行程序。最大的问题是试图找到将
.o
转换为
.cpp
的程序。这看起来更像是对
make
消息的误解@彼得没有
primeFactors.o
,但他(可能)也没有
primeFactors.cpp
。我敢打赌他把他的C++文件叫做别的东西,或者把它存储在其他地方,<代码>使< /Cord>找不到。Peter,如果您已经编写了一个现在要编译和运行的程序,那么您遇到的问题与您的问题所建议的完全不同。我认为我没有正确创建makefile,我想构建
primeFactors.cpp
而不是
primeFactors.o
。如何使用makefile执行此操作?@Peter,通常.cpp文件由用户使用文本编辑器创建。我不知道你想完成什么。基本上是将
primeFactors.o
反向工程到一个cpp文件中,但它似乎比我最初想的要复杂thought@Peter,
make
无法在没有编译器的情况下从.cpp文件生成.o文件。类似地,它不能从.o文件生成.cpp文件,除非有程序可以这样做。不幸的是,没有这样的计划。
primeFactors.o: primeFactors.cpp $(INCLUDEDIR)/primeFactors.h