军婚难离末世安好txt:软件行业的OEM是什么意思?SDK呢?

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 16:21:35
在软件行业中OEM具体是什么意思?SDK又是什么意思,他们之间有什么关系吗?

什么是OEM
OEM是英文Original Equipment Manufacturer的缩写,按照字面意思,应翻译成原始设备制造商,指一家厂家根据另一家厂商的要求,为其生产产品和产品配件,亦称为定牌生产或授权贴牌生产。即可代表外委加工,也可代表转包合同加工。国内习惯称为协作生产、三来加工,俗称加工贸易。

什么是SDK?经常会在技术论坛里面看到类似这样的帖子:“什么是 SDK?”,“请高手讲一下 SDK 是什么东东?”……

其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。

由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数

什么是OEM?什么是ODM?随着科技和经济的发展,这类缩写的专业名词越来越多,而对于一些消费者来说,可能有时候听得一头雾水,所以对于厂商有义务向消费者解释并使之明了这些概念性的东西。

所谓OEM,来源于英文Original Equipment Manufacturer几个英文字母的缩写,翻译过来即是原始设备制造商。而ODM来源于Original Dsign Manufacturer翻译过来即是原始设计制造商。就概念上的理解及市场的多样性方面OEM要比ODM复杂得多,所以在此我们重点讨论OEM方面的概念。

OEM可分为技术OEM、硬件OEM、软件OEM几大类。

在打印机的生产上,目前有HP、EPSON、CANON、联想、方正、利盟,施乐等十来家,但核心技术却掌握在HP、EPSON、CANON三家手中,其他品牌的打印机要用这些技术,一定要得到他们的授权,这就是技术OEM。技术OEM多是专利技术,在某种意义上说一般具有垄断的性质。

对于软件OEM来说,软件捆绑可以统称为OEM,这包括软件与软件的捆绑、软件与硬件的捆绑。这其中包括软件的预装,最具代表性的就是微软的操作系统,中文之星以及其他一些常用的办公软件等,在硬件产品卖到用户手里的时候,有些软件就已经装好了,有些则根据不同用户的要求来预装的,比如,预装游戏软件、教育软件等。

在硬件OEM方面,国内最初被简单的称之为来料加工。如CPU风扇,INTEL或AMD公司本身并不生产,它们通常会找像日本三洋公司这样的专业电机制造企业作风扇的OEM生产。但随着近几年IT产业的迅猛发展,产品的流通方式逐渐多无化,OEM的含义开始外延,范畴越来越广,其中的技术会含量已大大增加。最有代表性是各大芯片生产厂商同各大板卡厂商之间的OEM关系。如:INTEL和联想,INTEL和华硕,NVIDIA公司和丽台等。

对于正式授权的板卡生产厂商芯片厂商直接给予技术支持和芯片销售,而不再通过地区性的芯片代理商参与,并且板卡公司完全可以通过自己的研发力量按照芯片厂商的设计标准开发产品,这样大大降低了其生产成本,另外又保持了与授权厂商产品技术和性能方面的一致性。为了保证公司的品牌形象不受影响,芯片厂商在找相应的OEM厂商时一般都相当谨慎,对OEM厂商的实力要求得相当高,除了有相当大的生产和出货能力外还要具有一定的研发能力。如上面提到的著名板卡生产厂商华硕和丽台,分别为INTEL和NVIDIA公司正式授权的主板和显卡OEM生产厂商,并且对于正式的OEM或ODM授权厂商,芯片厂商都会给予其正式的授权协议书。例如对于最近ATI RADEON系列芯片的授权方案中,ATI为了扩大其产品在市场上的份额,通过其在各地的芯片代理商向世界各大板卡生产厂商提供专利的RADEON芯片组及原装显卡,但对于正式授权的OEM厂商目前在全世界只有8家,而太阳花则是ATI在中国大陆唯一一家被正式授权的OEM生产产商。

另外为了更好的协作OEM厂商,扩大产品在市场上的占有率,各大芯片厂商一般除了在技术上给予板卡厂商 一定的支持外,并与之配合进行全方位的市场推广方面的合作。例如,为了笼络OEM客户,2000年,INTEL曾在全球范围内推出与其是由直接提供芯片生产主板、显卡,OEM厂商的战略合作活动计划:在每个国家挑选一家合作厂商,确定其"COUNTRY LEADER"的地位,并与之开展从开发、生产到培训、市场推广等全方位的密切的战略性合作。而对于签约厂商太阳花显卡推出的ATI RADEON系列产品,ATI方面亦作了积极的响应,除了会派专人参加本月中旬太阳花将在北京举行的新闻发布会外,并承诺后期还会支持并配合太阳花做好一系列ATI RADEON系列产品的市场活动。

人们通过OEM共享技术,共享产品,优势互补。可以说OEM有效地推动了整个IT产业的快速

2:
其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。

呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真有这么容易吗?恐怕没这么简单!为了解释什么是 SDK 我们不得不引入 API、动态链接库、导入库等等概念。^_^,不要怕,也就是几个新的名词而已,我也是到了大学快结束的时候才体会到其实学习新知识就是在学习新名词、新概念和新术语。

首先要接触的是“API”,也就是 Application Programming Interface,其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。其实早在 DOS 时代就有 API 的概念,只不过那个时候的 API 是以中断调用的形式(INT 21h)提供的,在 DOS 下跑的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将 AH 置为 30h 后调用 INT 21h 就可以得到 DOS 操作系统的版本号。而在 Windows 中,系统 API 是以函数调用的方式提供的。同样是取得操作系统的版本号,在 Windows 中你所要做的就是调用 GetVersionEx() 函数。可以这么说,DOS API 是“Thinking in 汇编语言”的,而 Windows API 则是“Thinking in 高级语言”的。DOS API 是系统程序的一部分,他们与系统一同被载入内存并且可以通过中断矢量表找到他们的入口,那么 Windows API 呢?要说明白这个问题就不得不引入我们下面要介绍得这个概念——DLL。

DLL(又是一个缩写,感觉 IT 这个行业里三字头缩写特别多),即 Dynamic Link Library(动态链接库)。我们经常会看到一些 .dll 格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以 DLL 的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API 函数的执行代码。为了使用 DLL 中的 API 函数,我们必须要有 API 函数的声明(.H)和其导入库(.LIB),函数的原型声明不难理解,那么导入库又是做什么用的呢?我们暂时先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。

所以,为了使用 API 函数,我们就要有跟 API 所对应的 .H 和 .LIB 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。到此为止,我们才真正的解释清楚了 SDK 的含义。

由于 SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK 编程”。而 API 和 SDK 是开发 Windows 应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如 VCL 和 MFC,虽然他们比起“SDK 编程”来有着更高的抽象度,但这丝毫不妨碍它们在需要的时候随时直接调用 API 函数。

OEM是Original equipment manufacturer
表示:原始设备制造商

SDK是Software Development Kit
表示:软件开发工具包
二者没有任何关系

OEM是Original equipment manufacturer
表示:原始设备制造商

SDK是Software Development Kit
表示:软件开发工具包