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

php网站开发实训感想seo技术大师

php网站开发实训感想,seo技术大师,怎么设计自己logo图片,企信通编译型语言和解释型语言的区别 通过高级语言编写的源码#xff0c;我们能够轻松理解#xff0c;但对于计算机来说#xff0c;它只认识二进制指令#xff0c;源码就是天书#xff0c;根本无法识别。源码要想执行#xff0c;必须先转换成二进制指令。 所谓二进制指令我们能够轻松理解但对于计算机来说它只认识二进制指令源码就是天书根本无法识别。源码要想执行必须先转换成二进制指令。 所谓二进制指令也就是由 0 和 1 组成的机器码能被计算机直接识别并执行。 然而究竟在什么时候将源代码转换成二进制指令呢不同的编程语言有不同的规定 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令也就是生成一个可执行程序比如 Windows 下的 .exe 文件比如C语言、C、Golang、汇编语言等它们都属于编译型语言使用的转换工具称为编译器。有的编程语言可以一边执行一边转换需要哪些源代码就转换哪些源代码不会生成可执行程序比如 Python、JavaScript、PHP、Shell 等这类编程语言称为解释型语言使用的转换工具称为解释器。 简单地理解编译器和解释器其实就是一个“翻译工具”对源代码进行“翻译”是一个很复杂的过程大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件等五个步骤期间涉及到复杂的算法和硬件架构有兴趣的读者请参考《编译原理》一书这里不再赘述。 编译型语言和解释型语言的执行流程如下所示 图1编译型语言和解释型语言的执行流程 总结对于编译型语言来说在执行之前先要经过编译器将源码转换成 CPU 可识别的机器码文件比如 Windows 下的 .exe 文件解释型语言无需预先编译而是由解释器逐行对源码进行解释一边解释一边执行。 除编译型和解释型语言外还有一种半编译半解释型语言比如 Java 和 C# 等这类语言将源代码先转换成一种中间文件字节码文件然后再将中间文件拿到虚拟机中执行。 那么编译型语言和解释型语言各有什么特点呢它们之间又有什么区别 编译型语言 对于编译型语言开发完成以后需要将所有的源代码都转换成可执行程序比如 Windows 下的.exe文件就是一个可执行程序它里面包含的就是机器码只要拥有这个可执行程序就可以随时运行不需要再重新编译也就是“一次编译无限次运行”。 在运行的时候我们只需要编译生成的可执行程序此时就不再需要源代码和编译器所以编译型语言可以脱离开发环境运行。 编译型语言通常是不能跨平台的也就是不能在不同的操作系统之间随意切换。 编译型语言不能跨平台表现在两个方面 1) 可执行程序不能跨平台 可执行程序不能跨平台很容易理解因为不同操作系统对可执行文件的内部结构有着截然不同的要求彼此之间也不能兼容。不能跨平台是天经地义能跨平台反而才是奇葩。 比如你不能将 Windows 下的可执行程序拿到 Linux 下使用也不能将 Linux 下的可执行程序拿到 macOS 下使用虽然它们都是类 Unix 系统。 注意相同操作系统的不同版本之间也不一定兼容比如不能将 x64 程序Windows 64 位程序拿到 x86 平台上Windows 32 位平台运行。但反之一般可行因为 64 位 Windows 对 32 位程序做了很好的兼容性处理。 2) 源代码不能跨平台 不同平台支持的函数、类型、变量等都可能不同基于某个平台编写的源代码一般不能拿到另一个平台直接运行。下面以C语言为例进行说明。 【实例1】在C语言中要想让程序暂停我们可以使用“睡眠”函数。在 Windows 平台下该函数是 Sleep() 并以毫秒为时间单位而在 Linux 平台下则是 sleep() 以秒为单位。可以看出首先两个函数的首字母大小写不同再者 Sleep() 的参数是毫秒而 sleep() 的参数是秒单位也不一样。 以上两个原因导致具有暂停功能的C语言程序不能跨平台除非在代码层面对平台的兼容性做出处理但这非常麻烦。 【实例2】虽然不同平台的C语言都支持 long 类型但不同平台下 long 类型所占用的字节长度却不相同。例如 Windows 64 位平台下的 long 占用 4 个字节Linux 64 位平台下的 long 却占用 8 个字节。 如果在 Linux 64 位平台下编写代码时将 8 字节的值赋值给 long 类型的变量这是完全没有问题的但如果是在 Windows 平台下就会导致数值溢出让程序产生错误的运行结果。 解释型语言 对于解释型语言每次执行程序都需要一边转换一边执行用到哪些源代码就将哪些源代码转换成机器码用不到的则不进行任何处理。 由于每次执行程序都需要重新转换源代码所以解释型语言的执行效率天生就低于编译型语言甚至是数量级的差距。因此计算机的一些底层功能或者关键算法一般都使用 C/C 实现只有在应用层面比如网站开发、批处理、小工具等才会使用解释型语言。 在运行解释型语言的时候我们始终都需要源代码和解释器所以说它无法脱离开发环境。 例如当我们说“下载一个程序软件”时不同类型的语言有不同的含义 对于编译型语言我们下载到的是可执行文件源代码被作者保留所以编译型语言的程序一般是闭源的对于解释型语言我们下载到的是所有的源代码因为作者不给源代码就没法运行所以解释型语言的程序一般是开源的。 相比于编译型语言解释型语言几乎都能跨平台“一次编写到处运行”是真实存在的而且比比皆是。那么为什么解释型语言就能跨平台呢 其实这一切都要归功于解释器 这里所说的跨平台是指源代码跨平台而非解释器跨平台。解释器用来将源代码转换成机器码它本质上就是一个可执行程序是绝对不能跨平台的。 我们以 Python 为例Python 官方针对不同平台比如 Windows、macOS、Linux 开发了不同的解释器这些解释器必须要遵守同样的语法识别同样的函数完成同样的功能。只有这样同一份代码才能在不同平台上拥有相同的执行结果。 你看解释型语言之所以能够跨平台是因为有了解释器这个中间层。在不同的平台下解释器会将相同的源代码转换成不同的机器码解释器帮助我们屏蔽了不同平台之间的差异性。 关于Python Python 属于典型的解释型语言所以运行 Python 程序需要解释器的支持只要你在不同的平台安装了不同的解释器你的代码就可以随时随地运行不用担心任何兼容性问题真正实现了“一次编写到处运行”。 Python 几乎支持所有常见的平台比如 Linux、Windows、macOS、Android、FreeBSD、Solaris、PocketPC 等我们所写的 Python 代码无需修改就能直接在这些平台上正确运行。也就是说Python 的可移植性是很强的。 总结 下表对编译型语言和解释型语言的差异进行了总结 类型原理优点缺点编译型语言通过专门的编译器将所有源代码一次性转换成特定平台Windows、Linux、macOS等的机器码以可执行文件的形式存在。编译一次后脱离了编译器也能运行并且运行效率高。可移植性差不够灵活。ws、Linux、macOS等的机器码以可执行文件的形式存在。编译一次后脱离了编译器也能运行并且运行效率高。可移植性差不够灵活。解释型语言通过专门的解释器根据需要可以将部分或全部源代码转换成特定平台Windos、Linux、macOS等的机器码。跨平台性好通过不同的解释器将相同的源代码解释成不同平台下的机器码。一边执行一边转换效率较低。
http://www.dnsts.com.cn/news/7307.html

相关文章:

  • 建立网站一般会遇到什么问题工程建设标准化期刊网站
  • 河北做网站公司那家好做设计用图片的网站
  • 视频类的网站制作批量翻译wordpress内容
  • 外贸公司建网站一般多少钱孝感网站开发培训机构
  • 做网站还是做淘宝高中信息技术网站设计规划
  • 北京网站制作公司飞沐河南郑州旅游景点
  • 郑州老牌做企业网站浏览器下载安装2022最新版
  • 建设网站公司名称大全网站系统目前运行稳定
  • 网站开发寻找潜在客户的途径鄂尔多斯做网站
  • 建设门户网站请示大连百度网站排名优化
  • 搭建网站复杂吗WordPress博客手机主题
  • 网站怎么做前台跟后台的接口画册设计说明
  • 企业网站建设的三个核心问题建e网室内设计网官网电脑app下载
  • wordpress 网站加载过慢6seo搜索引擎优化工作内容
  • 网站宣传内容公司简介介绍
  • 外贸网站有哪些平台国外的创意设计网站
  • 网站开发常用的语言企业网站如何做
  • 建站之星网站山西网站seo
  • 不需要备案如何做网站广元市利州区建设局网站
  • 网站建设成功案例Wordpress建站安装教程图解
  • 门户网站规划工商注册营业执照网址
  • 用jsp做的网站在不同浏览器显示效果差异很大如何解决上海市网站
  • 廊坊网站霸屏网站建设兰州
  • 彩云小梦ai写作网站百度站长工具后台
  • 网站首页被黑廊坊网站建设价格
  • 企业网站模板2016成套免费的个人简历模板 大学生
  • html5网站报价明细免费在线建站
  • 建筑设计资料网站哪些网站国内打不开
  • 网页的创新型网站策划做一个官网大概多少钱
  • 中国工程建设招聘信息网站汕尾建设局安检站网站