我是C for Linux的完全新手。我有这个函数(在Visual Studio上测试,它工作,它不使用任何C ++或Windows专用函数)返回整数内的数字量(注意使用math.h中的log10()),但它抛出错误“log10()未定义引用,ld返回1退出状态”。我在使用pow()的一个函数(同一个程序)上也有这个非常精确的问题(一个函数将二进制转换为十进制,除了Ubuntu之外,它可以在任何地方工作,就像这个一样)。
int DigitsInNumber(int Num)
{
int Digit = Num;
if (Digit == 0) /* Log10(0) = Math error */
Digit = 1;
else
{
if (Digit < 0) /* Log10(<Negative number>) = Math error */
Digit = Digit * - 1
else
Digit = (int) log10((double) Digit) + 1; /* Log10(250) + 1 = 3
(250 has 3 digits) */
}
return Digit;
}
这段代码是在Eclipse(Ubuntu)和g ++(由老师推荐)上创建的,我知道可能有“重复”,但我读过的相关问题推荐了同样的事情:“包括math.h,那是你需要什么。“ (我在脑海中出现功能的那一刻)和“使用ld”(Where?),这些答案都没有说明在哪里输入或使用它。我怎么办“ld”?谢谢。