如果 C++ 程序中使用了 math.h 中的函数,在用 g++ 编译时需要加入选项:
这题考的是C++链接库的基础知识。拿到题先想:标准C++头文件里那些数学函数(sin, cos, log等)到底存在哪儿?它们不在编译器自带的核心库里,而是打包在libm这个动态链接库里。所以编译器需要明确告诉它要把这个库连进来,否则链接阶段就会报错找不到符号。
易错点:误以为头文件包含实现;混淆-lm与-static,后者虽能链接但非题目所指的精确选项。
本题考查C++链接数学库。math.h仅声明函数,实现位于libm库。链接时需加-lm。-O2是优化,-static是静态链接,-std=c++11指定标准,均不直接链接libm。故答案为C。