当前位置: 技术问答>linux和unix
make编译后产生了哪些中间文件?存放在哪些目录?(除本目录外)
来源: 互联网 发布时间:2016-08-28
本文导语: make编译后产生了那些中间文件?存放在那些目录?(除本目录外) 遇到了2个莫名其妙的问题: 1、加入的printf语句,没有启作用,即没有输出内容: 过程是这样的-加入printf、保存.c文件、rm -f *.o、make、测试没有pr...
make编译后产生了那些中间文件?存放在那些目录?(除本目录外)
遇到了2个莫名其妙的问题:
1、加入的printf语句,没有启作用,即没有输出内容:
过程是这样的-加入printf、保存.c文件、rm -f *.o、make、测试没有printf打印
但。。。将rm -f *.o改为make clean测试就有printf打印了
2、有一个功能不能正常运行,我们加入了printf语句,然后make,后测试;加入printf然后make,后测试;反复几次此功能正常运行了,将printf删除功能也能正常运行(此次删除临时文件用的是make clean)
我怀疑:rm,make clean没有将一些编译临时文件删除!?是不是这样呢?
makefile文件的内容:
OBJS=cdt.o
LINKOPTS= -O2 -Wall -Wstrict-prototypes -pipe -D_REENTRANT -D_THREAD_SAFE -mcpu=i486
commarrange:$(OBJS)
gcc $(LINKOPTS) -o commarrange $(OBJS) -lpthread -lminigui -lmywins -lmgext -ldl
chmod +x *
chmod -x *.c *.h
cdt.o:cdt.c data.h cdt.h common.h port.h ml101.h config.h
gcc -c $(LINKOPTS) cdt.c
.PHONY:clean
clean:
rm commarrange $(OBJS)
遇到了2个莫名其妙的问题:
1、加入的printf语句,没有启作用,即没有输出内容:
过程是这样的-加入printf、保存.c文件、rm -f *.o、make、测试没有printf打印
但。。。将rm -f *.o改为make clean测试就有printf打印了
2、有一个功能不能正常运行,我们加入了printf语句,然后make,后测试;加入printf然后make,后测试;反复几次此功能正常运行了,将printf删除功能也能正常运行(此次删除临时文件用的是make clean)
我怀疑:rm,make clean没有将一些编译临时文件删除!?是不是这样呢?
makefile文件的内容:
OBJS=cdt.o
LINKOPTS= -O2 -Wall -Wstrict-prototypes -pipe -D_REENTRANT -D_THREAD_SAFE -mcpu=i486
commarrange:$(OBJS)
gcc $(LINKOPTS) -o commarrange $(OBJS) -lpthread -lminigui -lmywins -lmgext -ldl
chmod +x *
chmod -x *.c *.h
cdt.o:cdt.c data.h cdt.h common.h port.h ml101.h config.h
gcc -c $(LINKOPTS) cdt.c
.PHONY:clean
clean:
rm commarrange $(OBJS)
|
你看看make clean后,文件夹下面还有别的.o文件么? 在父目录找找
find ../ -name *.o -type f
|
一般放在当前目录下吧...
|
你的make clean的内容是什么?makefile里的代码找到自己比较下喂~