Chinaunix首页 | 论坛 | 博客
  • 博客访问: 635937
  • 博文数量: 79
  • 博客积分: 2616
  • 博客等级: 少校
  • 技术积分: 1036
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-28 17:41
个人简介

苏北下邳附近人氏, 跟项羽、刘邦老乡,吕布很不幸,死在俺家门口那块小麦田上。 爱好家乡的小麦煎饼、盐豆子! 新浪微博:@dodolovely

文章分类

全部博文(79)

文章存档

2013年(2)

2012年(67)

2011年(1)

2010年(9)

分类: C/C++

2010-12-06 21:03:55

今天一位刚毕业的同事问了我2个问题:
  问题一:
        他在C程序中使用了pow函数,也引用了头文件 math.h,但是gcc编译程序         的时候报错:undefined reference to `pow'
   解释:
        这让我想起了我刚开始学C的时候也出现过这个问题,就是编译的时候没         有指定具体的库
        即gcc 需要加上一个-lm的选项,才能完成编译。
        -lm=link math
        -l指代的是链接一个库文件  
         m 指代的是math数学库文件,也就是libm.so
         pow是math库里函数,linux下编译器默认没有链接该数学库,故报错
         所以必须手动添加编译-lm选项
        头文件仅对接口进行描述,但头文件不是负责进行符号解析的实体。连接         器也是看不到头文件的
        用预处理器指令表示需要用到XX库,连接器也可以不管你

  问题二:
         关于输出格式化%.0f表示什么
    解释:
         格式输出一个浮点数,但是去掉小数点后面的数
         %.0f为格式控制符表示浮点数输出整数位,.0为小数位位数
阅读(808) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-07 15:55:33

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com