LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: betterzy

一个关于简单函数调用的问题,百思不得其解

[复制链接]
 楼主| 发表于 2006-3-31 14:07:11 | 显示全部楼层
不好意思,我这里加 -lm 是可以的,可能是上午测试的时候把命令打错了,但是我不知道加 -lm 是作什么用的,能帮我解析一下吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-31 14:07:18 | 显示全部楼层
不好意思,我这里加 -lm 是可以的,可能是上午测试的时候把命令打错了,但是我不知道加 -lm 是作什么用的,能帮我解析一下吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-31 14:13:48 | 显示全部楼层
-lm 就是说连接的时候把 libm.so算在里面,这个里面定义了一堆数学函数。
回复 支持 反对

使用道具 举报

发表于 2006-3-31 14:23:04 | 显示全部楼层
Post by x11
pisqrt = sqrtf(2.0); 可能被编译器直接处理成pisqrt = 1.414214;了
至少我这里用 gcc -E 得到的结果中没有被替换。两个文件的差别也就在
  1. pisqrt = sqrtf(2.0);
复制代码
  1. pisqrt = sqrtf(pi);
复制代码
这一行上。也许和 gcc 的库查找算法有关吧。
回复 支持 反对

使用道具 举报

发表于 2006-3-31 17:02:55 | 显示全部楼层
呵呵,-E是预处理结束,这时候可能只是宏替换完成吧,你-S看看呢
回复 支持 反对

使用道具 举报

发表于 2006-3-31 17:12:56 | 显示全部楼层
Post by x11
呵呵,-E是预处理结束,这时候可能只是宏替换完成吧,你-S看看呢

嗯,gcc 是在编译时完成了替换操作。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表