是不是C语言编的程序只有在windows执行的份..?

解决方案 »

  1.   

    不是啊,linux下也可以啊,很多底层的东西都是用C编的,C很强大,java只不过是跨平台性比较优越罢了
      

  2.   

    运行与windows的叫做win32 api,他是由c写的。c和java的不同,应该提出来说是:过程式语言和面向对象语言的不同过程话语言,编程时集中精力在一个函数上,比如要实现一个窗口显示图形,那么,函数就像这样写
    void drawSquare(Window w){
        //
    }
    而如果是用面向对象的语言来设计,那么就应该转移精力到对象上,考虑对象应该具有什么行为,并且对自己的行为负责
    class Window{
        void drawSquare(){
            //
        }
        void drawLine(){
            //
        }
    }
    这里,可以发现,其实用面向对象的语言也可以设计过程化的编程,所以面向对象,是一种思想,语言仅仅是支持他的工具。
      

  3.   

    我想提问者主要是想知道语言的运行平台问题吧。1、一种语言能在什么环境下运行主要看其编译器,它要是编译给Windows的就在Windows上运行,编译给Java虚拟机的就在Java虚拟机上运行,编译给linux的就在linux上运行,这跟语言采用什么符号和语法是无关的。比如你若针对C++语言做一个编译到Java虚拟机上运行的编译器应该是没问题的。目前的java语言的编译器一般都是针对java虚拟机编译的,但我想你要把java语言的源代码直接编译到Windows上运行同样是没问题的,再设计一个有针对性的编译器即可。而目前C语言似乎没有针对java虚拟机的编译器,但针对其他平台的编译器好象还不少,比如Windows、linux及苹果平台等。2、另外从编译后代码的存在形态主要分两种:中间代码和机器码。典型的有java编译后属于中间代码,称字节码,直接在java虚拟机上运行;C语言编译后是机器码,直接在CPU上运行。3、语言总体上可分为:可跨平台的脚本型语言和不可跨平台的非脚本型语言。跨平台的语言都需要安装虚拟机,如java的虚拟机、C#的.net、PHP的脚本引擎等,用以运行它们的中间代码;不可跨平台的如C、C++、Basic等语言,它们的编译码均可以由操作系统或其他方法直接部署到CPU上运行。