I find that the c::B can save file before compile . It is necessary to reduce the risk when something wrong with compiler.
However, if project A depend on project B , I change code in A and B , when I press ctrl+F9 , it saves file in B , then to compile project B, after B , it saves files in A , then to compile A .
I think the perfert way is to save files both in A and B , then to compile B and A.