“2015.12.29”的版本间的差异

来自软件实验室
跳转至: 导航搜索
(创建页面,内容为“中午解决了这个困惑了我两天的问题。心情不错! 在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>...”)
 
第1行: 第1行:
中午解决了这个困惑了我两天的问题。心情不错!
+
  中午解决了这个困惑了我两天的问题。心情不错!
在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>,然而gcc 编译之后总是出现“sqrt未引用”的错误。
+
 
解决方案:使用gcc v.c -o v -lm  
+
 
原因:-lm是连接数学库;
+
  在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>,然而gcc 编译之后总是出现“sqrt未引用”的错误。
 +
  解决方案:使用gcc v.c -o v -lm  
 +
 
 +
 
 +
  原因:-lm是连接数学库;
 
  -lm命令是使编译的时候,链接数学库, -lptread 链接线程库,可以使自己编译的库 ;
 
  -lm命令是使编译的时候,链接数学库, -lptread 链接线程库,可以使自己编译的库 ;
 
  g++编译程序成为.o目标函数,然后需要和库函数连接到一起;
 
  g++编译程序成为.o目标函数,然后需要和库函数连接到一起;
 
  gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 sqrt 所在的数学库 libm;而像 sqrt(n); 这种调用,一般无法做这种替换,因此需要链接 libm。
 
  gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 sqrt 所在的数学库 libm;而像 sqrt(n); 这种调用,一般无法做这种替换,因此需要链接 libm。
 
好了,吃饭去!
 
好了,吃饭去!

2015年12月30日 (三) 13:17的版本

  中午解决了这个困惑了我两天的问题。心情不错!


  在使用sqrt这个求平方根函数时,加了头文件#include <stdio.h> 和#include <math.h>,然而gcc 编译之后总是出现“sqrt未引用”的错误。   解决方案:使用gcc v.c -o v -lm


  原因:-lm是连接数学库;   -lm命令是使编译的时候,链接数学库, -lptread 链接线程库,可以使自己编译的库 ;   g++编译程序成为.o目标函数,然后需要和库函数连接到一起;   gcc 在编译时就可以将其替换为对应的值(gcc 优化的一部分),从而不需要链接 sqrt 所在的数学库 libm;而像 sqrt(n); 这种调用,一般无法做这种替换,因此需要链接 libm。 好了,吃饭去!