Montaque,问个问题!

starw2002 2003-10-20 10:39:31
什么是SDK编程,如果用VC++6.0来编程不用打包吗?那么用VC++.NET呢??
我只是编了个在实际工作中可用的小程序,但是却是用的VB.NET,,在单位的超级老土机器(95)上根本用不了,如果我用VC++6.0的win32 application是不是就可以呢,感谢你对透明文本框控件的回答,请问你学过C吗?
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rock29 2003-10-21
  • 打赏
  • 举报
回复
在ms推出windows1.0之后,人们开发windows应用程序时与开发基于dos的应用程序有了很大的不同,基于windows的程序不在直接控制计算机本身,而是通过windows系统生成图形界面,通过windows截获程序消息并进行处理,ms因此为程序员提供了数百个函数进行这种控制,ms把这些函数集成为一个包,就是windows sdk,用sdk编程对程序员要求很高,它要求程序员对windows有很深的了解,并且代码量大大增加,为此,ms对这些sdk函数进行了封装,继承形成了一套MFC库(此时,Borland公司作了同样的工作,他们的库叫OWL),并在VC中对它进行支持(Borland在Borland C++/C++ Builder对OWL进行支持),随着时间的推移,ms的VC在与Borland C++的较量中占了上风,Borland公司被迫在C++ Builder中增加了对MFC的支持(但它获得的MFC版本比MS的MFC版本稍老),同时Borland在C++ Builder中推出了基于Delphi的VCL库(C++ 版本)的支持,使得C++也可以进行可视化编程(当然还是比vb,delphi麻烦些).
由上所述,可见vc6.0既支持sdk开发,又支持mfc开发.正如Montaque(侯永锋) 说的,如今基于直接需要和硬件打交道的程序,一般用sdk开发,优点有二:A,由于直接控制硬件,程序速度比较快B程序比较小,但是缺点则是兼容性较差.而基于mfc开发的程序虽然运行速度不如基于sdk程序,但完全也可让人接受,关键是程序的代码减少了很多,于是大型软件的开发一般都用vc(vc.net)+mfc的方式(当然java也极为流行,但以在我们话题之外).其缺点为:由于调用mfc库,所以编写的.exe程序是不能直接执行的,需要打包(主要是把你程序需要的dll打包并注册),当然,你完全可以在程序中对dll的调用采用静态连接方式,即把你需要的dll和程序一起编译成可执行文件,这可以直接运行了,时下所谓的"绿色软件"就采用这个方法,但是不可避免的是:这个可执行文件体积会比较大,个人以为,如果是小项目,可以用这种方法,如果是较大的项目,则最好采用打包的方法,毕竟大家都这么作吗..同理,你用vc+sdk写的程序也可以单独运行/打包运行(一般基于硬件用vc+sdk写的程序都生成dll格式,然后再在应用程序对其调用)

用vb.net写的程序不能直接在win9x下运行,要想运行则系统需要:安装ie6.01,.net框架等等(还记得怎么安装.net吗?上来它要求你更新你的操作系统,于是你插入更新盘,对,你把这盘放在win98中,运行它的setup,忽略警告安装),再把你打了包的程序拷到机子上就可以了.这里要强调一下:为什么是"打了包的程序"呢,如果你的程序仅仅用到了vn.net的基本功能,直接拷贝.exe文件就可以运行,但是如果你的程序用到了其它的文件,比如有报表,那么肯定用到了crystal report的类,而这文件缺省更新时是不会安装进来的,你也不能手工安装,因为它们还要注册呢,你知道它们注册的格式吗,所以用vb.net的打包程序打包,再安装是最省事的方法.
注意:所有vb.net/C#/J#/vb/foxpro/j++的程序的可执行文件都是不能单独运行的,只有vc/vc.net的程序可以.
NoReady 2003-10-21
  • 打赏
  • 举报
回复
vb.net的在没有安装framework的win95上是肯定不行的
Montaque 2003-10-21
  • 打赏
  • 举报
回复
愚见:

我一般用到的 SDK 编程,有两种情况。一种是针对硬件的,有些特殊的工业控制设备,他的机器指令与操作系统的代码之间有一个映射,我们编程的时候一般直接利用他的 SDK 包,不需要考虑具体机器的代码情况;

一种是针对软件的,包括操作系统或者编译器 比如 Visual Studio 就提供了一套 SDK ,你可以从 http://msdn.microsoft.com/downloads 下载 VS 的SDK ,利用这些 SDK ,你可以扩充 IDE 的一些特性。

至于你用什么语言无所谓,要看 SDK 提供给你的类库而定。一般是 dll 形式的,与语言无关。

Hope it helps

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧