当前位置:  技术问答>linux和unix

为什么没有数学头文件,也能运行?

    来源: 互联网  发布时间:2015-08-14

    本文导语:  我在GCC下运行一个程序,调用一下函数 我屏蔽掉了头文件,但是编译也能通过,为什么,到运行的时候,别的函数调用该函数后,生成的返回值无论输入x,y是多少return 都为1,我没有定义math.h的头文件,为什么 编译...

我在GCC下运行一个程序,调用一下函数
我屏蔽掉了头文件,但是编译也能通过,为什么,到运行的时候,别的函数调用该函数后,生成的返回值无论输入x,y是多少return 都为1,我没有定义math.h的头文件,为什么 编译时没有告诉pow未定义呢?
#include "compute.h"
//#include 

double compute(double x, double y)
{
    return (pow((double) x,(double)y));
}

|
c语言里面,所有的函数都可以不申明就直接使用的,在这种情况下,编译器会认为函数的返回值是整数。
也就是说,去掉头文件math.h以后,下面的代码
double compute(double x, double y)
{
    return (pow((double) x,(double)y));
}
编译还是可以通过,只是编译器认为pow函数会返回整数,所以在ia32下面,它就会将寄存器eax里面的值返回(估计pow函数运行完以后eax里面的值正好是1)。
但是实际上,pow函数是返回double型的,它的真正的值在浮点寄存器里面。

|
可能GCC默认包含了一些文件。
或别的头文件中包含了 MATH.H

    
 
 

您可能感兴趣的文章:

  • 如果没有操作系统,Hello World可以运行吗?如果要在一台没有操作系统的机器上运行Hello World需要什么?应该怎么实现?
  • 谁知道为什么我的TextPad中没有编译Java、运行Application、运行Applet这三个选项????
  • Linix下编译生成的文件可以在本机器运行为什么不能在一Unix机器下运行。另外Unix下为什么没有make命令
  • 请教:system("C:\python2.4\python.exe C:\aa.py");该语句有何错误?为什么运行界面一闪就消失了并且没有运行完,请给出正确语句!
  • 请教一个简单问题。一个BEAN是怎么运行的啊?我运行书里的一个BEAN,告诉我没有main(),可是程序里是有main的啊??谢谢
  • 用GTK开发的程序如何在没有GTK动态连接库的Linux里运行?
  • 【新手提问】在XWindows下,有没有一个程序可以开一个窗口来运行命令行?
  • 菜鸟问题:为什么运行Run.bat,什么反应都没有?
  • 请问java applet程序用appletviewer运行正常,而放在网页中运行就没有显示,错在那里呢?急急急,送20分啊
  • Java Application能不能在安装了JVM但没有装SDK的系统中运行?
  • 请问windows下有没有可以运行linux命令的软件?
  • 请问各位谁知道JBuilder7的注册解密方法,我没有序列号,也没有解密文件 iis7站长之家
  • 请问:网游服务器是在什么操作系统下运行啊,在有没有以windows的啊,
  • linux 安装 oracle 运行./runinstall 提示没有这个文件
  • 怎样使application运行时没有console窗口?
  • LINUX 下使用QT开发的程序如何才能让它在没有安装QT的Linux系统下运行?
  • 在RetHat9中运行一个Makefile文件,系统说我没有权限,我是用root登陆的
  • 有没有在Window下运行的关于Linux函数的帮助(类似msdn)?
  • 有没有在window下运行的仿linux的软件。
  • kao,用root 登录竟然运行useradd 竟然提示说没有这个命令
  • 我是学数学的,喜欢编程,计算机没有像数学一样的从原理出发的学习方法
  • LINUX内核和网络,没有数学基础可以学不?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • /目录没有可用空间了,且没有可删除文件了,能否扩容,怎样扩容?
  • 请问各位谁知道JBuilder7的注册解密方法,我没有序列号,也没有解密文件
  • linux有没有现成的库函数用来将文件或目录压缩成一个tar文件,以及解压一个tar文件?
  • 有没有办法在打开一个文件之前判断当前是否有进程在使用(读或写)该文件
  • 求助!如何在没有图形界面的LINUX下压缩文件夹,并将这个压缩文件在windows下解压?
  • 编译前的java文件没有,只有class文件
  • solaris中,有没有那个log文件纪录某个文件夹下的删除动作。
  • 为何XML文件用IE执行后的结果和原文件一样?没有执行?
  • 请问大家我的root文件夹怎么没有 .bash_profile这个文件啊
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 没有ttyS4文件,怎样使系统有/dev/ttyS4设备文件?
  • 请问:linux下有没有可以要开.pdf文件的软件或者工具啊,现在碰到很多.pdf文件根本不能看啊
  • shell文件中第一行为#!/bin/bash ,运行后提示“:bad interpreter 没有那个文件或目录”是什么错误?怎么修改?
  • (高分)急!!!如何在DOS批处理文件中判断一个.TXT文件有没有记录(数据)
  • 有个文件第一行为:#!/usr/bin/parse 这个文件看起来象是一个脚本,但是没有见过,请教!
  • 没有路径的情况下创建的文件的默认路径是和程序生成可执行文件在同一个目录中是吗?。
  • 用JCreator写了一个小程序,有十几个class,当修改某个文件重新编译,javac并没有编译修改的文件,请问要如何做javac才会重新编译所有的
  • 请教大家一个问题,有没有一个类既可选择目录又可选文件,jFileChooser只能选文件。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 为什么我没有/etc/inetd.conf这个文件。
  • C++ Bitsets 成员 none():如果没有位被设置则返回true
  • linux没有lilo命令阿,是不是表示没有 相关套件?我的下载吗,也没有RPM这个 命令,我该如何搞定他们出来
  • C++ I/O 成员 good():如果没有出现过错误则返回true
  • 请问:我发现我的系统里什么都没有啊,gcc没有,rpm也没有,这怎么办啊
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?
  • linux 下 没有aptitude,也没有 apt-get。
  • 有没有哪位知道linux下有没有什么可视聊天的工具
  • 求救!!安装redhat后,提示重启,但是没有没有redhat的启动选项
  • 请问:编译内核时,make bzimage命令后,提示没有这个规则,这有没有影响呀?
  • 有没有搞错,JSP精华版数据全部没有了。
  • 我想在VMware上装FreeBSD,有没有人这样做过?有什么问题没有?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3