NOI 笔试题库 · NOI 笔试题库(非初赛) 第 21 题

选择题 · 答案 C · 考点:g++ -lm 链接数学库

← 整套速查表 NOI 笔试题库 全部真题

题目

如果 C++ 程序中使用了 math.h 中的函数,在用 g++ 编译时需要加入选项:

答案:C

考点

g++ -lm 链接数学库

解题思维

这题考的是C++链接库的基础知识。拿到题先想:标准C++头文件里那些数学函数(sin, cos, log等)到底存在哪儿?它们不在编译器自带的核心库里,而是打包在libm这个动态链接库里。所以编译器需要明确告诉它要把这个库连进来,否则链接阶段就会报错找不到符号。

常见错误

易错点:误以为头文件包含实现;混淆-lm与-static,后者虽能链接但非题目所指的精确选项。

详细解析(节选)

本题考查C++链接数学库。math.h仅声明函数,实现位于libm库。链接时需加-lm。-O2是优化,-static是静态链接,-std=c++11指定标准,均不直接链接libm。故答案为C。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断