Does GCC inline C++ functions without the 'inline' keyword?
问题 Does GCC, when compiling C++ code, ever try to optimize for speed by choosing to inline functions that are not marked with the inline keyword? 回答1: Yes. Any compiler is free to inline any function whenever it thinks it is a good idea. GCC does that as well. At -O2 optimization level the inlining is done when the compiler thinks it is worth doing (a heuristic is used) and if it will not increase the size of the code. At -O3 it is done whenever the compiler thinks it is worth doing, regardless