- 论坛徽章:
- 0
|
小弟以前从来都是vc下编程,不太习惯linux下的环境。我在redhat下有这样一段代码:
#include <cmath>
#define BIT_NUM 6
int dist1(int a , int b)
{
int c;
c = a^b;
int i , k;
k = 0;
for( i = BIT_NUM-1 ; i >= 0 ; i--)
{
int p = (int)pow(2.0 , i);
if(c / p == 1)k++;
c = c % p;
}
return k;
}
int main()
{
int a , b ;
int d;
a = 16;
b = 32;
d = dist1( a ,b );
return 1;
}
我用了math库中的pow函数,include了cmath,但是make的时候系统却提示:"pow" undefined reference , 我看了gcc文件夹中的cmath文件,里面明确定义了pow函数。然后我把include去掉,报错就不一样了,是没有声明和定义的变量。看来最初编译器是发现了pow函数的,但为什么会说是没有定义的引用呢?为什么会这样呢?我编译别人的源代码时也包含了cmath库,就能顺利通过,为什么我这样一个小小的函数都不行呢? |
|