使用 math.h 必须使用 -lm 参数指定指定链接到 libm.so 使用 O2 优化也能过编译的原因是,在优化的过程中, sqrt(a) 会被直接优化成最终的常数,所以这个时候其实并不需要真正链接。