当前位置: 首页 > news >正文

iis端口相同不同网站建设软文写手

iis端口相同不同网站建设,软文写手,php网站服务器搭建,做房地产咨询网站怎么赢利C/C 代码是不可跨平台的,Windows 和 Unix-like 有着不同的 API,C/C 在不同平台有着不同编译器。 MSVC Windows 平台,MSVC 是 Visual Studio 中自带的 C/C 编译器。 GCC Unix-like 平台,GCC 原名 GNU C Compiler,后…

C/C++ 代码是不可跨平台的,Windows 和 Unix-like 有着不同的 API,C/C++ 在不同平台有着不同编译器。

MSVC

Windows 平台,MSVC 是 Visual Studio 中自带的 C/C++ 编译器。

GCC

Unix-like 平台,GCC 原名 GNU C Compiler,后来逐渐支持更多的语言编译(C++、Fortran、Pascal、Objective-C、Java、Ada、Go等),所以变成了 GNU Compiler Collection(GNU 编译器套装),是一套由 GNU 工程开发的支持多种编程语言的编译器。不过随着时间推移,由于各种原因,GCC 除核心语言 C/C++ 之外语言的编译器要么不再维护,要么支持的规范有限(例如 GCC 中的 Java 编译器 gcj 已被废弃,主流使用 JDK 中的 javac,其他非核心语言编译器处境大同小异),故实质上 GCC 目前核心就是 gcc 和 g++。

如何从Unix-like系统向Windows系统移植软件?

现代操作系统包括Windows和Linux的基本设计概念,像进程线程地址空间虚拟内存这些都大同小异,二者之上的程序之所以不兼容,主要是它们对这些功能具体实现上的差异:

首先,是可执行文件的格式,Window使用PE的格式,并且要求以.EXE为后缀名,Linux则使用Elf。

其次,操作系统API也同,比如,Windows用CreateProcess()创建进程,而Unix-like系统则使用fork(),其他还有很多诸如spawn、signals、select、sockets等。

分析之后可知,要把Unix-like系统上的软件移植到Windows上,有几种思路:

第一种:修改软件源码并重新编译,这个方法最笨,类Unix下大量的软件要修改工作量很大,编译生成目标平台可执行文件格式。

第二种:不修改软件源码但把类Unix接口调用悄悄替换为WinAPI,还是需要重新编译,编译生成目标平台可执行文件格式。

第三种,无缝移植的运行环境,无需重新编译,在一种OS上建立另一中OS的应用软件虚拟环境(和虚拟机不一样),比如Wine(把Windows上的可执行程序直接原样移植到Linux上)。

Cygwin 和 MingW(Minimalist GNU for Windows) 均是对 第二种 方案的实现。

第二种方案有两个问题要解决:

  1. 把类Unix接口调用悄悄替换为WinAPI
  2. 在 Windows 平台下将 Unix-like 平台代码编译为 Windows 下可执行文件

Cygwin和MingW均是对 GCC 进行的封装
GCC 具有交叉编译能力,可以解决第二个问题,Cygwin和MingW均对 GCC 进行封装,由 GCC 编译 Unix-like 代码得到 Windows 平台下的 PE 格式可执行文件。

Cygwin和MingW各自的工作主要是解决第一个问题,两者采用了不同思路。

Cygwin和MingW都是第二种软件移植思路,当然,二者还是有区别,区别就在于“替换”方式,Cygwin编译时,程序依然以Linux的方式调用系统API,只不过把Unix-like接口link到自己的cygwin1.dll上,然后在cygwin1.dll中重新调用Windows API,cygwin1.dll再调用Windows对应的实现,来把结果返回给程序。也就是说,他们基于Win32 API中写了一个Unix系统API的重定向层,所以用它移植的软件都依赖于cygwin1.dll,MingW编译时通过特有的WinAPI头文件把类Unix-like调用替换为WinAPI,用它移植的软件无需依赖第三方库,可直接运行在Windows平台。为了达到类Unix软件仅通过重新编译移植到Win的目的,Cygwin在运行时偷梁换柱,MingW在编译时偷梁换柱。

用一个PE格式查看工具检查一下就能发现,Cygwin生成的程序依然有fork()这样的Linux系统调用,但目标库是cygwin1。而MingW生成的程序,则全部使用从KERNEL32导出的标准Windows系统API。

推荐使用 MingW

https://www.cnblogs.com/findumars/p/6250998.html

http://www.shuangfujiaoyu.com/news/60994.html

相关文章:

  • 比较好的h5网站google关键词工具
  • 外贸公司网站建设费会计科目精准引流推广
  • 做b2b2c商城网站网页在线客服免费版
  • 婚车租赁网站怎样做seo整站优化技术培训
  • 网站开发增值税税率是多少钱怎么做优化关键词
  • 重庆好的网站建设公司做网络营销推广的公司
  • 咸阳微网站建设好网站制作公司
  • 跑腿公司怎么做网站企业qq怎么申请
  • 西安网站开发营销型网站模板
  • 如何做网络推广网站百度的网址怎么写
  • wordpress网站微信公众号推送2020十大网络热词
  • 网站建设高度网站推广平台有哪些
  • 潮州移动网站建设手机制作网站app
  • 完善旅游网站的建设整站关键词排名优化
  • asp网站关键词青柠影院免费观看电视剧高清
  • 网页游戏网站建设余姚seo智能优化
  • 程序员做的简单的网站seo知识培训
  • 网站开发工作总结论文互联网营销师培训机构
  • 嘉兴白酒网站建设如何进行seo
  • dedecms搭建购物网站想学互联网从哪里入手
  • 大连商城网站建设百度销售平台怎样联系
  • 电商网站建设那家好山西seo谷歌关键词优化工具
  • 商务网站开发上海空气中检测出病毒
  • 泰安房产查询系统培训机构优化
  • 唐河做网站网站建设步骤流程详细介绍
  • 深圳定制建站公司电话网站开发语言
  • seo+网站排名西安seo网站关键词
  • 容桂网站制作价位建立网站步骤
  • 企业网站怎么做产品图片轮播百度搜索优化关键词排名
  • 英国政府网站建设的总结河北网站优化公司