老是看书,也写过一些小程序,问几个小问题:
1,到底什么是过程化编程,结构化编程,面向对象编程?
不要说它们分别对应VB,C,JAVA以及介于C与JAVA之间的C++哦,这个书上就这么说的,并不精辟.2,为什么程序做成 exe 可执行文件后就可以到处运行而不再要很多 DLL 来支持了,甚至像JAVA的 EXE还可以跨平台.3,前面看了一帖,说C++是什么做的,我觉得这个有意思.有师兄说C++作为一门语言,是一个约定俗成的东西(听起来像自然语言一样),那么C++的编译程序是什么呢?不会是VC吧,如果是,那VC又是什么写的?

解决方案 »

  1.   

    1 过程化编程:QB 
      结构化编程:C
      面向对象编程:VC
    等你写过一些C++程序,自然对面向对象谙熟于心。2 为什么程序做成 exe 可执行文件后就可以到处运行而不再要很多 DLL 来支持了
    =============
    那你是说如果不作成exe,也可以运行,但是需要很多dll的支持?
    MFC写的程序,即使编译成release,也是需要dll支持的。只不过这个dll一般的系统都自带了3 C++ 的编译器是什么做的?
    我认为可能是C(也可能在某些部分使用了汇编)做的。
    其实用C还是用汇编并不重要,对于做编译器的人而言,他们就是用C代码写也会精确控制其质量。
    Anders Hejilsberg写Delphi编译器就是纯粹汇编写的。
      

  2.   

    MFC写的程序,即使编译成release,也是需要dll支持的。只不过这个dll一般的系统都自带了
    ------------------------------------
    不是所有的都系统自带吧,WINDOWS 的 API会连接到系统,但如果你在MFC中自己定义了一个类,又实现了它的对象,为什么这个对象的内容在离开了你的程序,而能在exe文件中体现呢.
      

  3.   

    面向对象应该是一种解决问题的思维方式,他本身和C++,JAVA等语言本身是没有关系的.
      

  4.   

    面向结构化编程是人们早期适应的方式,当然也与人的思维方式更吻合些!  当然用C也可以实现oo啦为什么要用面向对象呢?一个类就帮我们封装了一种事物的所有属性与行为,更方便的提供接口给我们用哎,别的说不出来,表达能力太硕了!
      

  5.   

    想了解什么是面向对象的编程,看书:《Thinking in JAVA 3th Edition》 的第一章:对象导论和第二章:一切都是对象,一下子就会让你了解面向对象编程的精辟!4. 用系统级调试工具 : SoftICE TRW2000,W32DASM 等 ,脱壳后,跟踪到注册码判断的地方,因为真的注册码被算法算完放在寄存器里边啦,用SoftICE命令D,显示寄存器里的内容就是注册码了
      

  6.   

    我是楼主,1和4,我觉得可能大家说得很透彻了,面向过程,结构,对象方法的不同在于程序人员看问题的方法,思维的方法不同.(如果别人这么问我还是不大敢这样回答,呵呵)
    能不能把2,3 问说明白点呢. C++的编译器就是VC,或者是系统内嵌的?
      

  7.   

    windows是没有带C++编译器的,vc里面的cl.exe是编译器的可执行文件。
      

  8.   

    VC 是个 IDE(对应程序 MSDEV.EXE) , 它编译时其实调用 cl.exe , 连接时调用 link.exe ;我们也可以抛开 MSDEV.EXE , 自己写 make 文件在命令行调用后 2 者
      

  9.   

    OK!结帐.
    最后关于编译器,我再说一下,有空自己再看下这个帖,免得又犯糊涂.
    VC是C++的编译器,而VC是什么做的呢,不知道.
    由于C++的编译器有数十种之多,这里面任何一种都可以做出另外一种.而且,其他类型的编译器也可以生成C++的编译器,因为编译器说到底是一个软件,如VC
    因为C比C++先出现,所以我估计,VC应该是一种功能强大的语言实现的,那就C啰,不过可能有些地方用到了汇编.