linux下gcc(g++)的问题 快者加分!

来源:百度知道 编辑:UC知道 时间:2024/06/09 03:12:45
linux下gcc/g++的问题 快者加分!
悬赏分:20 - 离问题结束还有 14 天 23 小时
#include<math.h>
在g++下需要加什么选项,比如lm?
为什么?
这lm又是什么意思?
另外dev-c++使用的不也是g++吗?怎么dev编译可过linux下g++就不过?
在知道上看到的,同问,快者加分!

lm表示连接时连接上math库 ,l表示连接,m表示math库
dev下这些库是自动会连接的,不需要用户写

g++.exe tt.o -o "tt.exe" -L"C:/Program Files/DEV-CPP/Lib" 这一句就是dev c++编译时的语句,你可以看到它把C:/Program Files/DEV-CPP/Lib整个目录内容都L上了

因为用gcc编译c源文件时,要经过以下四步:
1.预处理
2.汇编
3.生成目标文件
4.链接生成可执行文件
当你的c源文件中包含<math.h>头文件时,gcc进行编译可以通过以上的前三步,第四步通不过,虽然在预处理时把头文件math.h包含到了源文件中,但是头文件中只是包含了你在源文件中所用到的函数或宏的声明,并不包含这些函数或常量的定义,所以在链接时需要把相应库中的二进制代码包含到源文件中,对于math.h头文件来说,这个库需要显式链接,所以在要用gcc -lm,"lm"的意思是链接数学库。