各位看清楚标题,这可是技术问题,不是吵架帖子,有20分的专家分里面,只请教老马,眼神不好的赶紧去医院。"对VB6的底层研究得很深,达到汇编级 "本人不理解:
1、VB的底层 是什么?VB有底层么?有的话就可能有中层和上层,那都各是什么?
2、达到汇编级 vb也分级?怎么算汇编级?有没有JAVA级?
3、什么人分的级?或者在哪本书上或哪个网站上看到的这种分级。
据我所知,所有的分级都是人类为了方便,硬性规定的,这种分级是否科学?是否合理?分级的标准是什么?别告诉我是计算机或网络什么的分层分级,这里是讨论VB问题,希望正面回答。如果分不够,可以明说,再加就是,反正我这里技术分一直很少用。

解决方案 »

  1.   

    虽然没啥恶意,可也没啥意义。p.s. 我看清了“只请教老马,眼神不好的赶紧去医院”,所以不劳lz担心我眼睛的健康。
      

  2.   

    我来正面回答你.1、VB的底层 是什么?VB有底层么?有的话就可能有中层和上层,那都各是什么?    从上层说起.    上层是指使用VB封装好的对象,库,组件等来写程序的等级.    中层是指除了使用上层的技术,同时还使用API等手段来绕过VB的封装来写程序的等级,比如子类化.    底层是指除了使用中层的技术外,还能在汇编指令级别来写程序的等级,比如使用SHELL CODE实现API HOOK,自行处理TLS实现多线程等.2、达到汇编级 vb也分级?怎么算汇编级?有没有JAVA级?     这个问题参考上面第1个问题的回答.3、什么人分的级?或者在哪本书上或哪个网站上看到的这种分级。     这是我的个人见解,没有引用任何出处,只是对现在在VB里面出现的各种技术的分类而已."这种分级是否科学?是否合理?分级的标准是什么?"    是否科学及合理,我就没什么好说的了,毕竟只是一个分类,合适与否,各有各的见解.标准,参考上面第3个的回答.
      

  3.   

    嗯,我的确看到你跟贴了,可是真的没有领悟你的一番美意,太抱歉了。其实那个帖子不是我的,我也不关心答案如何,我只是随便找个帖子up下,每天可以得到10分可用分呢,我还奇怪你为什么也来跟贴,我还以为你是lz的马甲呢?
      

  4.   

    虽然不清楚该贴问题因何而起,但是从技术上讲,VB的确有底层。
    最明显的就是他的解释器,专业点说法应该是“Win32子系统”的一个“子系统”。
    从字面上“对VB6的底层研究得很深”一点问题都没有,因为所谓的
    “VB6的底层”就是我所说的“Win32子系统”的“子系统”内核。
    研究内核工作原理研究得很深,这没什么问题呀。如果说你认为没有
    书介绍过这类的东西,你可以先了解一下驱动开发里面提及Windows内核
    级工作原理部分。其实不单是VB,VC中的MFC也是和VB一样性质的。
    同样拥有着子系统,Windows就是靠这种子系统运行VDM(DOS程序)、
    POSIX(UNIX程序)、OS/2(16位的OS/2操作系统程序)、WOW(早先
    Windows 3x的程序)。
    这个子系统就是于基于Win32子系统上的解释VB抽象编译代码的内核。
    因为按照VB的概念,不能直接将VB代码编译成能让Win32子系统直接
    处理的代码,所以,只能用一个子系统来做他们之间的桥梁。
    VB内核中,虽然没有I/O管理器,但大部份管理功能还是有的。
    比如对象管理、进程管理、内存和虚拟内存管理、其他组件管理等等。
    这些功能虽然在Windows内核里有了,但是VB对这方面也有独特的处理。
    所以说VB拥有自己的子系统这是个事实,也就是说VB是有自己的内核的。
    这个内核就是底层。对于你的问题:
    1、VB的底层 是什么?
    就是上面我说的子系统。也就是VB的内核。VB有底层么?
    这是肯定的,除非你说MFC不算是子系统,不算内核。有的话就可能有中层和上层,那都各是什么?
    在CPU中,可分为4中阶层,也就是执行命令的阶层
    Ring0、Ring1、Ring2、Ring3
    在以前的DOS系统中,DOS系统和应用程序都是使用Ring0层执行命令的
    到了Windows 2k以后,Windows内核在Ring0层,应用程序在Ring3层
    也就是用了两层。
    如果说VB程序的运行分层,可分为三种模式,设计时和编译运行时,还有调试运行时
    如果你注意观察并使用了VB很久,会发现,VB编译后运行的结果和调试时的
    结果有时会不同。这就是在不同的运行层运行程序的结果。这个运行层相当于操作系统
    中的Win32子系统,所以VB层次关系最少是:内核->子系统->应用程序 这么几个层次。
    具体是怎么划分的微软是最清楚的。我们只是使用者,也就只能观察出结果了。 
    2、达到汇编级 vb也分级?
    分级是肯定的,VB无论从哪方面看都有级可分。
    如果从使用者技术水平看,所谓的“级”其实就是使用者技术知识掌握的一个阶段性名称。
    如果从VB使用上看,所谓的“级”也是了解这个工具的一个阶段性名称。
    如果从意义上看,可以把VB代码看出汇编代码也是有级可分的,呵呵。怎么算汇编级?有没有JAVA级?
    在没看过老马的回复我是这样认为的,就是编译的控制。
    从简单的来讲,比如在C语言开发当中//这段代码与下面一段代码在编译及CPU运算上会有不同
    if(a==1&&b==1){
       c++;
    }
    //-------------------------
    if(a==1){
       if(b==1){
          c++;
       }
    }如果认真查看编译成汇编后的代码,会发现大有差别
    当然,如果在写VB程序的时候也能注意到这种变化,
    也要对汇编有所了解,并能够根据汇编的思路考虑程序的过程开发。
    还有就是通过看内核文件的二进制流看出点汇编的影子。并从中读
    到点什么。PC程序上我没听说过,但单片机开发上到听说过有这么些人能
    做到个八九,这些绝对是牛人。
    3、什么人分的级?
    肯定是微软啦。可以参考我上面所说的东西。虽然微软集体怎么定义的我不知道。
    但根据我上面说的这些特点而言,他在没计划没分级的情况下作出VB来是不可能的。或者在哪本书上或哪个网站上看到的这种分级。
    对于我而言,具体介绍VB分级的不是什么哪本书上或哪个网站上看到,是结合我多
    年的经验与知识总结出来的,还有,不要以为什么书或什么网站就是标准,告诉你。
    除了微软本身这样说明,其他的都不是标准。如果我在CSDN发表的这些东西也被别人
    说在CSDN里发表的,被别人当作标准来弄不就乱完了?但是,微软是不可能对这种问
    题做一一说明的,所以,只能靠知识量、经验、研究结果来自己判定。
      

  5.   

    我哪敢有什么见解?只有一点点体验
    我觉得VB是最丑陋的一种语言
    1、微软当年为了搞败别人临时折腾出这么个玩意儿。
    2、属于解释性语言,严格上来说算不得一门编程语言
    3、做应用还凑合,做别的简直是牵强附会,赶鸭上架。所以你说的分层分级实际上是从难度上去划分的,而这些难度很大程度上都是VB本身造成的。我准备最近就放弃VB,转.Net
      

  6.   

    ls是牛人。
    该说的都说了,补充下,POSIX是一个操作系统遵循的基本API规范,虽然UNIX也支持,但是不能算UNIX的。UNIX、Linux支持的API集合大致被称为UNIX Like API,只是大致这么称呼而已。我是菜鸟,不敢妄谈标准,不能妄谈分级分层,但是我想世界上的一切概念,都是人想出来的,是吧。1930年汤博发现了pluto,这70多年来大家都把它当成九大行星之一,可是随着技术和大家认知的提高,2006年又把它归为矮行星。既然行星、矮行星、小行星的分级都可以变化,这就说明不必教条于书本啦。lz觉得呢?
      

  7.   

    VB的确落后了一些,但是和BASIC、COBOL、FOXBASE这些比较比较,VB很优雅。
    把不同时代的东西拿来比较本来就有点不公平。我用VB写出了很多有用的程序,可是那时候.NET在哪里呢?
    再过十年,或许.NET也很笨拙,很丑陋。
    就像您是高手,但是您10岁时候的编程水平恐怕不如我吧。再比如我的中文一定比Bill Gates说的好。
    VB创造了RAD开发模式,没有VB就没有Delphi和WinForms .NET。还有解释性语言当然也是语言,而且解释性语言有很多优点,比如灵活、可以实现动态的特征等等。
      

  8.   

    在你看来Windows是VB的低层,在我看来那只是VB控制其它东西的一个通道,是微软不得不提供出来的手段。
    照你这个说法,VB控制空调开关,空调就成了最低层?
    这样的话低层是不是太多了?热水器算不算?
    VB通过Windows实现某些功能仅仅是不得已的手段,二者什么时候成了上下层了?
    另外马说这是他一家之言,到你这里就成了微软的分类了
    再就是单片机的问题,不意思,我接触的人中单片机高手多的很,没什么了不起,既不是人牛也不是牛人。
    从你讲述这一些来看,把对windows开发看成正道。但我看来微软折腾出个VB来不是为了开发什么windows的
    是开发应用的,这就是为什么VB开发应用很简单,开发Windows很麻烦的原因
    你既然知道VC,也应该知道在VC里开发Windows要比VB方便吧?
    另外VB在开发应用的时候显然不是这么分类吧?低层是什么?数据库?
      

  9.   

    没有VB就没有Delphi
    我才不相信呢
    在VB6出来以前,Delphi号称VB杀手,很是热门了一阵子
      

  10.   

    难道你不觉得没有VB就不会有VB杀手了么。没有Mac就没有Windows。没有Java和Delphi就没有.NET。(.NET的架构师就是Borland过去的)没有Ruby On Rails就没有 C#4.0/F# + ASP.NET MVC + Entity。话说克隆成功的商业模式是很赚钱的。
      

  11.   

    那是vb5的杀手,因为vb6以前开发应用也很麻烦
      

  12.   

    可是业内人士也可能明天就不算业内人士了哇
    非业内人士明天或许就成了业内人士
    微软没有搞Browser以前,W3C成员谁觉得微软是业内人士
    大家都嗤笑微软的破玩意不支持标准Bill Gates没有搞Microsoft的时候,社会给他的分层就是一个大学肄业生。
      

  13.   

    我觉得搞个画布画画界面,然后PME一下代码,这还是微软发明的。
    不过有点可笑的是,微软想把这套画图+控件+绑定搬到Web开发上,却失败了。
      

  14.   

    唉,低调些!孔子都曰:三人行,必有我师。汝辈又何德何能,可以妄谈这么一个话题?莫非你是盖茨?哦!!盖茨没有上完大学,当然不入你的法眼,一个非大学生搞出来的东西,你是看不起的,难怪你看不起VB......我语塞了,,,.Net也是Microsoft的啊,还是盖茨。唉
      

  15.   

    哦,忘了说了,搞出VB杀手以及后来去搞VJ++和.NET的老兄,根本没有上大学,学历恐怕还不如Bill Gates。lz说的很多观点我是赞同的。凡事都有好的一面和不足的一面,没有十全十美的技术,当然更没有十全十美的人,所以不必那么针尖对麦芒。
      

  16.   

    话说Bill还是能牛的。
    全部汇编实现了BASIC,大学数学满分
    或许在我看来,能做到这两条就比我强无数倍。
    当然,和他在商业上的巨大成功相比,技术是其次的。但是完全没有技术也是万万不行的。
      

  17.   

    你还会告诉我他们的英语绝对没过CET4?
    世界一流的技术文档都是用中文写的?
      

  18.   

    嗯,哈哈。技术还是很重要的,尤其是顶级的技术。
    Bill Gates有魅力跟实力招来Borland的架构师,这就是他的本事,如果他没有这样的人格魅力,或许找100个一般的架构师也搞不出来。
    话说那个老兄跳槽以后,Borland就趴窝了,每人能改进他遗留下来的代码。
    他写的编译器,就是速度超级超级快。这些内容参见李维《Borland传奇》
      

  19.   

    为什么Anders那么有本事,却甘愿给Bill Gates打工?
    除了Gates很有钱,很有商业头脑以外没有别的了么?如果Bill Gates是一个很尖锐很刻薄的人,Anders会去么?
      

  20.   

    看来Borland的架构师应该好好读读论语了
      

  21.   

    “我接触的人中单片机高手多的很,没什么了不起,既不是人牛也不是牛人。”
    那是你根本就没见过什么叫高手,难道你认识的比你懂的就是高手?你是以这种标准评价的?
    看你的语气好像了解的东西很多嘛,好像你有能力搞出比微软更牛的OS一样,雪豹系统是你
    弄的?还是你作出了更牛的东西?口气如此狂妄,比苹果的口气还狂妄,你还真“牛”呀。“你既然知道VC,也应该知道在VC里开发Windows要比VB方便吧?”
    你这是什么意思,在教育我吗?说得难听点你有这水平来教育我吗?
    方不方便是由你来说的吗?你的VC玩得比我好吗?说白了,你接触过多少东西?真正的研究过多少东西?接触过几种语言?真正的了解了多少?
    接触过单片机吗?接触过ARM吗?接触过驱动开发吗?真正的接触过操作系统吗?自己试着开
    发过操作系统吗(单片机、ARM、PC)?告诉你,就算你真的接触过在我看来也不是什么牛人,
    因为我就弄过,也常用多种语言,我就不觉得自己很牛。因为我不是井底之蛙,知道什么叫学
    海无涯的道理。虽然只是猜测,但是从你的言语上,就可以猜测你的技术水平不怎么样,技术生涯也没过几年。
    因为对这种工具性的问题这么较真的也就是这种水平段了。但口气还这么让人不爽。我上面的见解你如果不接受你可以说你认为是什么样,既然你说是技术讨论,但我看你的帖子就
    没有一点技术含量在里面,全是些贬低别人抬高自己的语气。你这样个讨论法我不贬你才怪。
      

  22.   

    我觉得也没有必要拿博士说事。我想说了半天lz没有领会我的意思我很遗憾。
    大家也没有必要继续针锋相对了。
    既然大家觉得lz说话的方式有一点点不妥,那么何必也用这种方式来攻击他呢?
      

  23.   

    好在哪里?我从来不想搭理此人,你翻遍CSDN,她多次挑衅和都没回复,什么道理!
      

  24.   

    你的观点没错。
    大家的也没错。
    但是你的说话方式显然造成了大家的反感。
    你觉得这么些天来和一群人争执你开心么?有收获么?我看大家也别再指责lz了,既然他说话就是这个方式,也不是针对某个人的。
    搞得大家都不开心,何必呢?
    就此打住算了。至于老魏老马等等,不管他们什么学历,什么等级,什么MVP还是别的,他们活跃在论坛里面,很多技术贴对大家都很有启发。他们都是我尊敬和佩服的人。
    lz技术很高,或许觉得他们的帖子不能给你什么启发和帮助,也可以理解。比如sourceforge、codeproject、javaeye、Microsoft社区还有很多别的论坛和网站,干嘛和广大初学者较真,同时搞得自己不快呢?
    lz如果真的不服输,不妨把热情投入到给大家分享些技术上,或者谈谈自己的不同见解,岂不很好。
      

  25.   

    不生气,生什么气哦,这也是为VB版提高人气的方法嘛。我们换一种方式:宁向曲中取,不向直中求。用另类的方法提高VB版人气,楼主功高盖天!
      

  26.   

    你是体验真是独特,basic是一种非常优美的语言,写起代码来就像是在说话,
    比尔盖茨曾经是一个basic高手,他说过,用basic可以和任何人PK
      

  27.   

    搞VB的都这么说,这句话看过好多次了.所以一旦有人瞧不起搞VB的,大家就把它搬出来,作为一块很硬的砖头,砸向对方.
      

  28.   

    VB本来就可以嵌入汇编语言,老马说得一点都没错。是你自己不知道而已,别加个“等”进去。还有,CSDN是公众论坛,任何人都有发言自由,只有版主才能决定别人是否有权回贴,而不是你。如果你有人缘,你可以弄个版主来封别人贴;如果你有水平,你可以弄个论坛自己玩;如果你有钱,你可以将CSDN买下来。
      

  29.   

    VB本来就可以嵌入汇编语言没错啊,还可以嵌入Word,这就能说明VB还有WORD级?
    弄个版主来封别人贴?没那兴趣
    弄个论坛自己玩?玩过
    把CSDN买下来?怕赔钱
      

  30.   

    汇编指令驱动CPU工作,任何语言都跳不过汇编这道坎。
    所谓vb的汇编级,搞过反汇编的都明白。
      

  31.   


    PLC是语言吗?
    可编程控制器,简称PLC(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。
      

  32.   

    PLC的程序其实也可以说是用汇编写
    也许他说的是CPLD/VHDL吧。
      

  33.   

    LZ啊,,自从有了你,VB版又活跃了起来,LZ啊,,自从有了你,老V就经常露露头了,LZ啊,,自从有了你,老马不吃草改吃骨头,LZ啊,,自从有了你,VB6又成了垃圾中的战斗机,LZ啊,,自从有了你,BILL终于退休回家家,LZ啊,,自从有了你,CSDN中VB版的大堂主出现,LZ啊,,自从有了你,用VB6的都改成.NET了,LZ啊,,自从有了你,时代变化了猪也能上树了.
      

  34.   

    我来说了我的故事:
    我个人是很喜欢养宠物的,狗、猫是我很喜欢的宠物
    有一次,我的女朋友(现在的老婆)送我了一只小狗,说是她姐的同事给的。
    外表很可爱,我当时真是很开心。
    有一次,我在电脑前写程序,突然听到那只小狗拼了命的狂叫,
    像是临死前的最后呐喊一样(好尖好刺耳的声音)。
    当时我一头雾水的冲进厨房,看到我的女友站在门口。
    看到那只小狗向着我的女友吼叫,我就问她是怎么回事。
    她说她也不知道,只是刚进厨房那只狗就冲她乱吼。
    我怀疑的问她:“你真的没做什么?会不会是不小心踩到它了?”
    她说:“没有,它就是见到我就冲我乱吼。”
    我也没怎么在意就算了。
    后来一天夜里,大概是凌晨三点左右,我也在研究程序,突然间又听到了那阵刺耳狂吠声。
    因为夜里很静,这个声音显得特别的大声和刺耳,弄得心情都很紧张的立马跑到厨房去看。
    结果一个人也没有,后来我就训斥了它几句(虽然知道没什么用),后来就又去弄我的程序
    了。此后,经常在写程序的时候被那只狗的狂吠声所打断思路,每次被打断都会跑过去骂
    它两句。之后,这种情况越来越频繁,有一次我要上厕所,刚好路过它旁边,它突然对着
    我狂吠,当时真是把我吓了一跳,接着它还扑过来咬我,我的自然反映就是用脚把它踢开。
    结果就像捅了马蜂窝一样,它叫的声音更加大了,态度更加恶劣了,我骂它都不管用了,还
    咧这个嘴,把牙齿露出来,那样子完全把我当敌人对待。我给他吃的,给他住的,结果它
    却用这种态度对我(既然你不仁,我也不义,你要和我比暴力,那就看看谁厉害)。当时我气
    头一来,就用脚孟踢它(当然没用真力,不然一脚它就OVER了),它反过来想咬我,我又
    一脚踢过去,它被踢到了墙边,我跟着就用手按住它的头,然后用膝盖压着它的身体,它
    还想叫、还想动,但是因为被按住了,没能力动,连嘴都动不了。后来它终于放弃了。
    当时,突然觉得好安静,好欣慰,心想:“这种感觉真好,呵呵”。之后随便骂了它两句
    就算了。后来,每当它发疯乱叫得的时候,我会尽量动嘴警告它,如果他不知趣越叫越厉
    害的话,我就会让它知道什么是暴力、什么是无可奈何、什么是弱小。最终,这条疯狗我还是把它丢了,因为它开口咬了我的女友(我老婆),都不知道有没有
    狂犬病,反正打了预防针,也就没去管了(后来有点后悔,这样便宜它了,还可能害别人)。
    此后,我对狗这种东西就有了一定的阴影。后来又养过一只狗,名叫“圆圆”,张得很好
    看,就像它的名字一样,是个很胖很可爱的小东西,但是性情好多了,很听话,还会和我
    一起出去散步。过了好久才对狗的阴影放下。但是,每当我看见那种冲人乱吠的疯狗都有
    一种想一脚踢过去的冲动,让它知道这个世界是由人统治的,它只是一只人随便就可以涅
    死小东西。这只是我的一个小故事,没别的意思
      

  35.   


    ok 恭喜你也会咬文嚼字了
    我们这里讨论的是高级语言,vb的汇编级是问题的根源。
    如果你认为我说的有问题,那我收回,由此对你造成的伤害表示抱歉。但是,能证明vb没有汇编级么?
      

  36.   

    其实汉语、英语也是语言没必要整VHDL、LISP说事情。
    我倒觉得VHDL转变成门阵列的时候,相当于计算机在做解释语言。而且这个过程肯定是CPU操作的,显然有汇编
    类似的还有HTML。
    个人观点,没有求证。
      

  37.   

    vb生成exe的时候也是CPU操作的
    能说明什么问题么?