导航:首页 > 编程语言 > windows编程的特点

windows编程的特点

发布时间:2022-08-30 00:26:11

㈠ 和控制台程序相比,Windows应用程序编程有何特点

1、参见:http://..com/question/12810776.html
在VC里建一个win32 application和一个win32 console application,两个dsp工程文件对比一下,你会发现应用程序里的subsystem:windows,控制台程序里的subsystem:console。
subsystem这个链接选项告诉Windows如何运行可执行文件。
subsystem是console的话,Windows在进入可执行文件的代码前,就会产生一个控制台窗口。
subsystem是windows的话,操作系统就不产生console窗口,该应用程序的窗口由用户自己创建。
2、http://..com/question/314655650.html

控制台程序比较节省系统资源,写非常大的服务端程序,非常消耗系统资源的时候,建议用控制台程序,别看那么几个控件、按钮占地方不大,内存都是一点点挤出来,又一点点消耗掉的。
控制台模式还有个优点就是,不会因为线程被阻塞就停止响应,换句话说,如果你只是做1对1,或者n(n<10)对1的时候,如果你选用最见的阻塞型的select模型的话,控制台不会被阻塞,但是窗口程序就会停止响应了(线程越多越占用系统资源,线程切换的时候,系统对堆栈的操作效率极其低下,所以不是线程越多越好,所以你可以每个IP一个线程来达到避免停止响应,但是不建议这么做)
3、程序的主要区别应该是入口函数不一样,因为界面显示所使用的类库不同。
4、http://..com/question/8861937.html
Windows编程的主要特点有:
图形界面 面向对象程序设计
事件驱动 高效的内存管理
设备独立性 动态连接
1.1.1 图形界面
漂亮、统一的图形用户界面;
菜单条、工具条、状态条等基本对象;
方便、快捷的联机帮助;可以同时浏览多个界面。
1.1.2 面向对象程序设计
采用面向对象技术开发基于Windows的应用程序能更好地发挥操作系统本身的优势。
1.1.3 事件驱动
面向对象程序设计最根本的特点就是事件驱动。
与事件驱动相对应的是过程驱动。
5、其实,现在往深处想想,竟然没什么不同的。
控制台上也可以实现GUI,图形界面也可以使用控制台命令

只是一般控制台用来编写服务类、驱动类程序,窗口用来做末端用户配置。

㈡ 请比较linux与Windows在网络编程方面的特点

找了一段,大致涉及到了您的问题:

一、socket的模式
socket一般有两种模式:同步和异步(windows网络编程技术中也可叫锁定和非锁定,Linux网络编程叫阻塞和非阻塞)。

二、socket的类型

socket一般有三种类型,基于TCP的流式套接字,基于UDP的数据报套接字和原始套接字。

三、socket的IO模型

socket
的IO模型是编程中使用socket两种模式的策略,它们适用的场合不同,在不同的操作系统上支持的模型也不同,例如windows从NT版本才开始支持
完成端口模型。Linux和Windows所支持的模型也有区别,当然也有相同的地方,可能叫法不一样,但大致思路是一样的,下面分别介绍windows
和Linux的IO模型

1、 Windows下的套接字IO模型:

A、 Select(选择)模型
用于同步socket的状态检测模型,又叫(Linux)多路复用,可以同时检测多个socket的状态

B、 WSAAsyncSelect(异步选择)模型
用于异步socket的异步事件设置,它是基于Windows消息的模型,必须先打开一个窗口,然后把窗口和socket的消息绑定,这样,在socket有消息通知时,操作系统便通知窗口,然后在窗口进行处理。

C、 WSAEventSelect(异步事件)模型

于异步socket的异步事件,它是基于网络事件的模型,先使用CreateEvent创建一个事件,然后使用WSAEventSelect进行事件绑
定,然后可以使用WaitForMultipleObject(Event)进行事件监听,可以同时监听多个事件,不光是socket的,比如可以监听使
用CreateWaitableTimer创建的Timer等。

D、 重叠IO模型

于异步socket,在创建socket时需要在创建函数WSASocket中使用WSA_FLAG_OVERLAPPED标志,然后在投递IO请求的时
候将一个Overlapped结构体指针赋给投递函数,可以使用WSAWaitForMultipleObject来监听事件,然后使用
WSAGetOverlappedResult来获取IO的状态,也可以在Overlapped结构体中使用完成例程来处理,即在投递函数中把完成例程赋
给投递函数。

E、 完成端口模型

是迄今为止最复杂的一种IO模型,当应用程序需要管理众多的套接字并且希望随着系统内安装的CPU数目的增多,应用程序的性能也可以线性增加,就可以使用
这种模型,它的原理是每个CPU可以单独负责一个线程的执行,避免线程的频繁切换。使用这种模型往往可以达到最佳的系统性能。

先需要使用CreateIOCompletePort来创建完成端口,然后将IO句柄和此端口绑定,绑定也是使用此函数,当然也可以一次完成。接着是创建
工作者线程,工作者线程会使用GetQueuedCompletionStatus进入完成端口维护的线程池,当有完成事件时,会激活一个线程。

2、 Linux下的IO模型

A、阻塞IO

B、非阻塞IO

C、IO多路复用(选择)

D、信号驱动
用于异步socket,首先设定信号处理函数,然后使用fcntl函数设定socket的拥有者,像windows下使用WSAAsncSelect设定socket的窗口一样。使用这种模型,当内核操作可以被操作的时候通知我们的应用程序

E、异步IO
当内核在所有操作完成后才会通知应用程序

四、socket的一些使用上的优化

A、缓冲区的优化,可以考虑让应用程序使用比较小的缓冲区,但同时使用多个WSARecv

B、使用socket选项SO_SNDBUF和SO_RCVBUF设置socket缓冲区大小,如果设为0,操作体系统会使用应用程序的缓冲区,这样避免了从系统缓冲区向用户区复制的开销

五、注意这些IO模型有些不光是针对socket的,其他的IO操作也可以使用,最常用使用的是WriteFile,ReadFile等函数。

其它查考网址:
http://blog.163.com/tianle_han/blog/static/6617826200821522743948/
http://blog.csdn.net/yibulianhua/article/details/5374317

㈢ windows的编程特点有哪些

走套路,这时由win32系统本身的设计决定的。
一般的win32就是注册窗口类,建立窗口,消息循环等,这个套路是固定的;
mfc/wtl或是其它的编程框架也是遵循这个套路,只不过把他封装起来了。

㈣ windows的特点是什么

要说特点那就得对比linux系统说了。

1. windows是不开源的,

因为这点微软挣到了很多钱,也因此windows系统稳定性远远落后于linux。
因为开源的话,大家都能看到系统的不足,一起去改善,于是就会有定制型,且用于linux的软件很多很多。

2.windows用户界面友好

对于windows的窗口化操作,使得占用了绝大多数的个人用户,各种exe程序安装起来也是非常方便。由于使用简单,许多软件有windows版本,而未必存在linux版。
相比windows操作系统,linux对显卡的支持有所欠缺。

3.windows是收费的操作系统

windows的操作系统全部都是收费的,并且随着不断更新,更是上千,服务器版本乃至上万。

㈤ Windows程序设计与C语言的主要区别是什么

一、主体不同

1、Windows程序设计:基于MFC类库进行的程序开发设计。

2、C语言:是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。

二、特点不同

1、Windows程序设计:以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

2、C语言:仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性。


三、优缺点不同

1、Windows程序设计:包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。专心的考虑程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性。

2、C语言:依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。



㈥ 简述使用visual c++进行Windows编程的几种方案流程以及各自对应的优缺点

打开visual c++,点菜单栏《文件》,然后点《新建》,在弹出的对话框中工程栏中选择MFC AppWizard(exe),输入工程名称和保存的位置,点击确定,在弹出的对话框中选择基本对话框,点击完成,在弹出的编辑界面中就可以添加按钮,编写程序,编写完成后点运行就看到效果了。
个人理解是只有一种,window编程是指编写window环境下的软件。但我们可以用不同的开发工具和不同的语言来进行window编程.比如工具有Microsoft Visual C++ 6.0、Microsoft Visual Studio 2005、delphi等工具。语言有c、c++、java 、pascal等。而你所认为的各种编唾分类是针对不同的方面进行的。比如windows核心编程就涉及到硬件方面,根据硬件怎样分配资源,怎样回收等分方面。而网络编程是针对网络方面划分的。涉及到服务器与客户机等。windows图形编程自然与图形编辑有关。windows系统编程针对操作系统的编写。你列出的概念还真是具体啊。我并不是万能,也不能用简短的回答就能解译的清楚的。有些解译深度不够,再所能免。只是为了认你清楚这些是针对不同方面联系较深而作出的概念而已。就象说话,对一个事物,可能有不同的叫法来表现事物与哪方面联系较深。游戏编程与游戏较多。假如有一种在windowsg下的编程与电影联系较深有能力为它命名为windows电影编程。我是说假如。希望不会误导你。
你的第三个问题是选择看书吧。本人认为选择哪本书并不是很重要。关键是你提取知识方面。从具体的编程来是,程序就是指令的集合,而软件开始一个重要的方面就是写指令(写代码)。代码的书写要用编程语言。所以编程就是根据编程语言进行创造的过程。所以真正想做软件开发方面的话,首先要打好基础。首先选择一门比较有感觉的人。比如c,c++,pascal,但不可移植到其它操作系统.java可以跨平台,可以把widow环境下开发的软件直接拿到unix等操作系统使用。不知道你水平如何,但我建议选c++有关的书。其中就有你想要的window编程,使用API函数和各网友所说的用MFC开发。如果想快一点开发你所认为的开发一些有用的实际的东西,那我建议你有delphi7软件开发。

㈦ 什么是windows编程

windows编程就是按照windows自己定制标准编程,而界面编程可以很多,基本上你能看到有界面的都可以说是界面编程,不过一般认识的都是windows
api的,不过现在qt也火。这两个是有交叉的。

㈧ windows编程和编程有什么不同

这个问题啊~~
怎么说呢
windows编程顾名思义是在window操作系统下的编程
它需要调用系统提供给你的API函数
来让你用这些api完成你的程序
==============================================================
你说的普通编程
是DOS窗口下的编程的意思吗?
如果是的话
那他们最大的也最直观的区别就是:
你说的普通的编程离不开那个黑洞洞~~
而windows编程都会有一个窗口界面
就像你所使用的软件一样
希望对你有帮助

阅读全文

与windows编程的特点相关的资料

热点内容
gif有损压缩 浏览:929
windows下安装linux命令操作 浏览:840
米家app怎么设置进门亮灯 浏览:650
任我行服务器为什么会影响截图 浏览:294
安卓留言板怎么删除 浏览:16
做大厂程序员有什么感受 浏览:239
php文件只读 浏览:773
红色警戒3命令修改器112 浏览:432
安卓税收和苹果税是什么意思 浏览:444
快速排序算法的时间复杂度分析 浏览:111
大龄程序员困境 浏览:269
手机号忘了怎么登录农行app 浏览:572
商品信息管理系统php 浏览:8
效果器app怎么无线连接 浏览:404
clinux线程锁 浏览:851
怎么看新手机安卓充电器是不是原装 浏览:294
32单片机f4点灯源码 浏览:223
车载安卓导航开发者选项怎么开启 浏览:694
学生程序员兼职 浏览:360
androidswitch事件 浏览:998