1.     介绍Win32 API和Win32系统。还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别。只是让对Win32系统有一个基本的了解。当已经基本了解Win32操作后,就可以在任何需要的时候使用Win32系统提供的高级功能了。

2.     Win32环境中有两种基本的对象类型:内核对象和GDI/用户对象。
        内核对象是Win32系统原有的,包括事件、文件映射、文件、邮件槽、互斥、管道、进程、信号灯和线程。Win32 API包含有针对不同内核对象的函数。

3.      对象与它的句柄之间存在直接的关系。一个对象的句柄实际上是一个指针,这个指针指向构成对象的数据。依赖于不同的对象类型,对象数据存储于GDI或用户数据段中。另外,对于分配于全局堆的对象,他们的句柄也是指针,指向全局内存段。
        Win32 GDI子系统对GDI句柄的管理包含两个方面,一个是对GDI对象的校验,另一个是句柄的重复使用
        用户对象和GDI对象有些类似,它是由Win32用户子系统管理的。然而用户对象的句柄不想GDI对象那样存储于进程的地址空间,而是有一个专门的用户句柄表。因此,像窗口、窗口类、原子等对象可以在不同的进程之间共享。

4.      多任务是指操作系统可以同时运行多个应用程序。操作系统把CPU的时间分成片分配给每个应用程序。在这种情况下,多任务其实并不是真正的多任务,只能说是任务切换。或者说,操作系统并没有真正同时运行多个应用程序。相反,它先运行一个应用程序一定的时间,再切换到另一个应用程序运行一定的时间。它对每个应用程序都这样处理。因为时间被划分得很短,对于用户来说,就好像多个应用程序在同时运行一样。

5.      多线程是指一个应用程序内部的多任务。这意味着应用程序可以同进行不同类型的处理。一个进程可以有多个线程,每个线程都有各自不同的执行代码。一个线程可能要依赖于另一个线程,这样就必须要同步。例如,不能假设一个线程在另一个线程要使用它的结果时已完成了处理。线程同步技术用于十多个线程能够同步执行。

6.      你的计算机不太可能安装4 G B的物理内存。那么,Wi n 3 2系统是怎样获得比实际安装的物理内存大得多的地址空间的?3 2位的地址并不真正代表物理内存的一个位置,其实Wi n 3 2使用的是虚拟地址。
        通过虚拟地址,每一个进程可以获得4 G B的虚拟地址空间。上端的2 M B空间属于Wi n d o w s,下端的2 M B空间是放置应用程序及可以分配内存的地方。这种模式的优势在于一个进程中的线程不能访问其他进程的内存。同样的地址$ 5 4 5 4 5 4 5 4在不同的进程中指向不同的位置。
        一个进程并不是真的有4 G B的内存而只是具有访问4 G B内存的能力,注意到这一点是很重要的。一个进程真正能够访问的内存大小取决于计算机安装了多少物理内存以及磁盘上有多少的空间可被页交换文件使用。对于一个进程而言,物理内存和页交换文件是按页来划分使用的。页的大小取决于Win32安装在什么类型的系统上。在Intel的平台上,没页的长度是4KB;在Alpha平台上,每页的长度是8KB。对于PowerPc和MIPS平台而言,每页的长度也是4KB。系统会把页从页交换文件移到物理内存中,需要的时候在移回来。系统会维护进程当中虚拟地址和物理地址之间的关系。

Delphi的Win32的API调用简单介绍的更多相关文章

  1. 浅议Delphi中的Windows API调用(举的两个例子分别是String和API,都不错,挺具有代表性)

    浅议Delphi中的Windows API调用http://tech.163.com/school • 2005-08-15 10:57:41 • 来源: 天极网为了能在Windows下快速开发应用程 ...

  2. Delphi XE6 通过JavaScript API调用百度地图

    参考昨天的内容,有朋友还是问如何调用百度地图,也是,谁让咱都在国内呢,没办法,你懂的. 首先去申请个Key,然后看一下百度JavaScript的第一个例子:http://developer.baidu ...

  3. Java系统属性与Preferences API的简单介绍

    系统属性在和Preferences API都是键值对,前者只能当前应用程序中共享数据,而后者可以在用户的各个应用或用户之间共享数据. 系统属性 Java 的系统属性决定了 Java 程序实际运行的环境 ...

  4. 信鸽推送 .NET (C#) 服务端 SDK rest api 调用库(v1.2)

    信鸽推送 .NET  服务端 SDK rest api 调用库-介绍 该版本是基于信鸽推送v2版本的时候封装的,先拿出来与大家分享,封装还还凑合,不依赖其他http调用件,唯一依赖json序列化dll ...

  5. webservice和wcf和web.api简单介绍

    转自:无废话的wcf等等 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Ser ...

  6. jira以及jira API简单介绍

    最近需要预言:是否可以通过jira API实现用例管理,对jira的应用.API.扩展等进行了一定的了解. Jira介绍: jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支 ...

  7. C#中可直接调用WIN32的API函数--USER32.DLL

    Win32的API函数可以直接在C#中直接调用,在做WinForm时还是很有帮助的.有时候直接调用Win32的API,可以很高效的实现想要的效果. using System; using System ...

  8. 阿里云api调用做简单的cmdb

    阿里云api调用做简单的cmdb 1 步骤 事实上就是调用阿里api.获取可用区,比方cn-hangzhou啊等等.然后在每一个区调用api 取ecs的状态信息,最好写到一个excel里面去.方便排序 ...

  9. Win32编程API 基础篇 -- 2.一个简单的窗口 根据英文教程翻译

    一个简单的窗口 例子:简单的窗口 有时人们在IRC提问,”我应该怎样制作一个窗口”...嗯,这恐怕不是完全这么简单好回答!其实这并不难一旦你明白你在做什么,但在你得到一个可展示的窗口之前还有一些事情需 ...

随机推荐

  1. caffe学习系列(7):Blob,layer,Net介绍

    参考:http://www.cnblogs.com/denny402/p/5073427.html

  2. ajax 载入html后不能执行其中的js解决方法

    事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁 ...

  3. 这些情况下onReume不应该是你的选择

    面试Android程序员的时候问过以下几个基本问题,得到的回答经常不尽人意: 1, Activity A跳转到Activity B,Activity B完成后,Activity A要刷新一下自己的数据 ...

  4. Apache shutdown unexpectedly启动错误解决方法

    这个问题比较常见, 通常是80.443端口被占用 cmd 通过运行apache/bin/httpd.exe 打印如下log: (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一 ...

  5. django xadmin 插件(3) 列表视图新增自定义按钮

    效果图: 编辑按钮是默认的list_editable属性对应的插件(xadmin.plugins.editable) 放大按钮对应的是自定义插件. 自定义按钮源码: xplugin.py(保证能够直接 ...

  6. [ruby on rails] 深入(1) ROR的一次request的响应过程

    示意图 即: 1.  浏览器发起请求 2. Routes对请求进行一个url映射,交给对应的Controller来处理 3/4. Contoller从Model中获取数据(或者操作数据) 5. 返回给 ...

  7. ndk学习9: 动态使用共享库

    动态使用共享库函数 dll_main      环境介绍 续上节代码 目录结构:   android.mk如下: LOCAL_PATH := $(call my-dir) include $(CLEA ...

  8. HTML中属性ID和属性NAME有何区别?

    今天出美工面试题的时候,David让我加上一道题:HTML中id和name的区别.一听对呀,HTML中id和name有什么区别,只是平时在用,倒没怎么想过,只是那么用了罢了,呵呵,其实在做网页的时候有 ...

  9. Vim保存只读模式下的修改

    用 vim 打开没有写权限的文件而忘记用 sudo 时,文件变成 read-only这时候用 :w!, SHIFT+ZZ,或者 qw! 都无法保存 :w !sudo tee % :w : Write ...

  10. iptables之链之间的跳转

    创建一个新的链     按照管理,用户自定义的链用小写来区分它们 iptables -N newchain 可以在这个链的尾部跳转到INPUT链 iptables -A newchain -j INP ...