在make中,有什么区别:
DATA(lv_lines) = REDUCE i( INIT x = 0 FOR wa IN gt_itab
WHERE( F1 = 'XYZ' ) NEXT x = x + 1 ).
和
%.o: %.cpp foolib.h
$(CXX) -c $< -o $@ $(CXXFLAGS)
另外,我是否理解.cpp.o: foolib.h
$(CXX) -c $< -o $@ $(CXXFLAGS)
应该包含在上面所示的规则中,如果即使在.cpp文件中没有变化,也要(重新)编译标题中所做的更改?
答案 0 :(得分:1)
.cpp.o:
语法为Old-Fashioned Suffix Rules。
我是否正确理解foolib.h应该包含在如上所示的规则中,如果即使在.cpp文件中没有变化,也要(重新)编译标题中的更改?
你是对的。但是,以这种方式维护标头依赖性是繁琐且容易出错的。人们通常使用auto-generated header dependencies。