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。

时间: 2024-10-18 17:59:02

windows C 与 linux C区别?的相关文章

Windows Socket和Linux Socket编程的区别 ZZ

socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(...) Linux下close(...) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏: #ifdef WIN32 typed

【转】Windows Socket和Linux Socket编程有什么区别

socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(...) Linux下close(...) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏: #ifdef WIN32 typed

gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)

cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从boost库的划分中可以看出来端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets.所以完全可以和linux一起同步更新gcc版本,而不用担心问题,并且在cygwin/gcc做的东西(不用win32的)可以无缝的用在linux下,没有任何问题.是在windows下开发

宿主机Windows访问虚拟机Linux文件(二)

上一篇文章中详细讲述FTP服务(基于文件传输协议的服务),本文则介绍另一种能够实现此功能Telnet(Telecommunications network 远程登陆)服务.本文介绍的telnet我常用来在windows下熟悉Linux指令,只需要使用其远程登陆Ubuntu即可,方便实用. 说明:本文不再赘述前文中已经重复指明的内容. 一.虚拟机Ubuntu开启Telnet服务 1)在终端中输入命令:$ sudo apt-get install xinetd telnetd,安装完成xinetd和

Windows软件在Linux上的等价/替代/模仿软件列表 (抄一个)

Last update: 16.07.2003, 31.01.2005, 27.05.2005 您可在以下网站发现本列表最新版:http://www.linuxrsp.ru/win-lin-soft/. This page on other languages: Russian, Italian, Spanish, French, German. 从Windows转向Linux的一个最大困难就是缺乏对相关软件的认识.新手总是在寻找 Windows软件的替代品,但老鸟却难以回答,因为他们对Wind

C/C++ Windows移植到Linux

近期写了有关Socket的程序,需要从windows移植到linux.现把有用的东东收集整理记录下来. 1.头文件windows下winsock.h或winsock2.h:linux下netinet/in.h(大部分都在这儿),unistd.h(close函数在这儿),sys/socket.h(在in.h里已经包含了,可以省了). 2.初始化windows下需要用WSAStartup启动Ws2_32.lib,并且要用#pragma comment(lib,"Ws2_32")来告知编译器

windows系统文件和linux系统文件

windows系统文件和linux系统文件 1.单用户操作系统和多用户操作系统 单用户操作系统:指一台计算机在同一时间 只能由一个用户 使用,一个用户独自享用系统的全部硬件和软件资源 Windows XP 之前的版本都是单用户操作系统 多用户操作系统:指一台计算机在同一时间可以由 多个用户 使用,多个用户共同享用系统的全部硬件和软件资源 Unix 和 Linux 的设计初衷就是多用户操作系统 2.windows和linux文件系统区别 2.1 windows下的文件系统 在windows下我们打

API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别

[原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface.Windows操作系统提供给应用程序编程的接口, 简称 为API函数. Win32 SDK:SDK(Software Development Kit)中文是软件开发包.则Win32 SDK是Windows 32位平台下的软件开发包,包括了API函数.帮助文档.微软 提供的一些辅助开发工具. Win3

Windows远程登录Linux

本文以Ubuntu Kylin1404为例,说明如何通过Windows远程登录Linux. 首先,要确保Ubuntu上SSH服务执行正常.默认情况下,Ubuntu已装有SSHclient.比方输入ssh localhost时,终端会提示无法建立连接,或请输入password.这说明已安装有sshclient.为了开启服务.必须自己在终端中输入sudo apt-get install openssh-server来安装服务端. 安装完毕后.默认已开启了ssh服务. 在Windows系统中.假设选取