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。