windows C 与 linux C区别?

windows C库格式为  .dll( 动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件)。 生成的*.exe 。
       linux C 库格式为  .so(.so 为共享库 : 动态库(shared library/shared object/dynamic link library)。生成*elf(Linux ELF ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的。扩展名为elf)。
     
       标准 C 库函数以及数据类型等在任何操作系统下都可以编译运行,并且效果是完全一样的,但其内部的实现原理及存储方式不一定一样。这些库函数实际上在不同系统操作 系统上的实现就是依赖于操作系统本身的 API。Linux 上当然就是 Linux 的 API,而 Windows 则是 Windows API。就像最常见的 fopen 函数,在 Windows 上他是通过 CreateFile 函数实现的,而 Linux 上则是通过 open 函数。API 说白了就是函数,通常说 API 指的是操作系统函数。Linux 的 shell 相当于 Windows 的命令行,它只不过是一个解析命令和执行程序的环境。这个环境其实也是一个独立的程序。任何平台的程序要运行,就得依赖于该操作系统的 API。

posted @ 2015-11-18 14:41  徐一贺  阅读(705)  评论(0编辑  收藏  举报