有什么办法可以在vs代码中推广程序特定的设置?

时间:2019-10-28 14:55:07

标签: c gcc pow math.h

我正在使用vscode在c中使用pow()函数。 我想在幂函数的指数参数中使用变量,即pow(2,i)。 但是我遇到了错误,所以我在终端编译期间使用了gcc programName.c -lm。 有什么方法可以使用gcc programName.c这样的常规编译命令并获得具有相同问题的程序输出。

                            A              B             C           D
1:540450-541070    0.12495878     0.71580434    0.65399319  1.04879290
1:546500-548198    0.41064192     0.26136554    0.11939805  0.28721360
1:566726-567392    0.00000000     0.06663644    0.45661687  0.24408844
1:569158-570283    0.34433086     0.27614141    0.54063437  0.21675053
1:603298-605500    0.07036734     0.42324126    0.23017472  0.29530045
1:667800-669700    0.20388011     0.11678913    0.00000000  0.12833913
1:713575-713660    7.29171225     12.53078648   2.38515165  3.82500941
1:724497-727160    0.40730086     0.26664585    0.45678834  0.12209005
1:729399-731900    0.74345727     0.49685579    0.72956458  0.32499580

错误: /tmp/ccptU1ZR.o:在功能n = 10; h = 0; while (n > pow(2, h)) h++; printf("\n%d\n", h); 中' collect2:错误:ld返回1退出状态 终端进程终止于退出代码:1

预期输出: 4

1 个答案:

答案 0 :(得分:0)

-lm选项不是另一种编译类型,而是告诉编译器(实际上是链接器)在何处查找pow()函数的含义或定义。因此,请放心使用-lm,它只表示代码中包含数学函数,否则gcc不会自行查找。