其实很多语言封装的类库,方法,都是基于所处于的操作系统的API的调用是吧,能不能这样理解?
如果是这样的话我们调用编程语言函数库的方法就是间接地调用所在系统API而已,编程语言就是帮我们更方便的调用,是不是这样的??求大牛解答!!~~~

解决方案 »

  1.   

    你做底层也是调用硬件的API呗,为什么要纠结这种问题..
      

  2.   

    JAVA 运行于系统无关,所有的东西是在VM的基础之上, VM跟系统关联##
      

  3.   

    我不能说什么,只能举个例子 比如 一个下一个下降沿写入数据的程序CS = 0
    PX = 1;
    PX = 0
    LRC = c
    PX = 1//它是调用什么API呢?
      

  4.   

    这年头JAVA的都迷信C 
    学C的都迷信汇编其实是不对的
      

  5.   

    c跟java都是同样调用操作系统的api以实现功能的吗?
      

  6.   

    看情况。涉及到类库函数和os api的问题,有的库函数可能不需要调用api,比如你调用个max函数,而有的函数可能要调用os api,比如分配内存。
      

  7.   

    如果不调用系统API,程序是怎么执行功能的???
      

  8.   

    OS API不是万能药,它只提供自动化操作系统功能的接口,操作系统没有或者没有接口的功能,比如浮点数运算和上面举的给变量赋值的例子,是直接编译成内存操作的代码,在CPU里面执行的。
      

  9.   

    原来是这样,那么os是要调用硬件的API来执行控制那些浮点运算和赋值的执行了,是不是这样的?
      

  10.   

    ……那些代码的执行不通过OS,是CPU读到程序里面的指令直接就执行了。
      

  11.   

    先有硬件才有所谓的软件,不管是汇编、C/C++、还是 JAVA 或者 C# 都是一步一步封装一些公共功能让别人去掉
      

  12.   

    字节码转译成机器码不是JIT的工作吗?为什么说是操作系统的功能呢?操作系统里面连java都没有,怎么转?
      

  13.   

    jvm把bytecode转换为机器指令,交给cpu执行。
      

  14.   

    这个,觉得还是java虚拟机的转换,java虚拟机的作用是屏蔽底层的最大亮点吧!!
      

  15.   

    其实不管怎样说,无论是java c c++,还是汇编,其实都要靠操作系统支持,只是层级不一样。
    谁说汇编是直接与硬件打交道?简直是打胡乱说不管你多底层,比方说如果windows不支持你C语言或汇编,你看代码还能运行不?如果还能运行,这些驱动程序就不会有for windows版for linux版了,干嘛不把驱动程序集成到硬件上面呢?还省得去安装。。
      

  16.   

    补充一点,建议大家多熟悉一下计算机原理和操作系统原理
    SUN所谓的TMD平台无关都是有误导性的,两个字:坑爹
      

  17.   


    如果是java本地化编程可能会用系统API
      

  18.   

    举个例子,你们猜猜System.currentTimeMillis()这个函数是怎么实现的?
    然后在看看java.lang.System类的源代码吧,或许就明白了public static native long currentTimeMillis();
    理解一下native的意思和作用,或许就不会认为JVM会直接把字节码交给CPU执行了,sun就是一个忽悠大师。
      

  19.   

    基于jvm的 但是有些是native的
      

  20.   

    太以偏概全了,大部分代码是非native的。