导航:首页 > 源码编译 > 内存和编译的区别

内存和编译的区别

发布时间:2022-07-20 17:27:24

编译型语言和解释型语言的区别

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。

解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。

虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,php,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。

编译型语言:

⑵ 编译时分配内存和运行时分配内存的理解,麻烦讲解下

编译时无所谓分配内存,程序在加载后才占用内存,不知道你说的是不是说编译生成的目标文件所占的空间,目标文件里的各个段.bss .data .text等都要占据一定空间,而运行时随时都在分配内存,堆栈都是内存。

不管是局部的还是全局静态变量,都会占用目标文件的空间,但是也可以不初始化,不初始化的保存在.bss段,初始化的保存在.data段。

编程时候,利用malloc函数动态分配内存,到底是系统分配的还是编译器分配的有什么区别

系统。编译器只是把高级语言编译成机器语言。

⑷ 汇编,解释,编译是三种不同的语言吗有什么什么区别

是指三种将不同的源程序翻译成目标程序的方式。“汇编”是指将汇编语言源程序翻译成目标代码,然后来执行这个目标代码,这个翻译过程由“汇编程序”来完成,如8086汇编;“解释”是指将高级语言源程序的语句翻译一行,执行一行,即便翻译,边执行,如QBASIC;“编译”是指将高级语言源程序翻译成目标代码,然后来执行这个目标代码,这个翻译过程由“编译程序”来完成,如c语言。

⑸ C语言中编译 生成 调试 测试 运行各是什么意思有什么区别

C语言中编译 生成 调试 测试 运行的区别如下:

区别一:

从编译方面来看:

编译依赖于编译器,英文是compile, vc中这一过程是将源代码转换成目标文件,如:obj文件,rc文件等。

区别二:

从生成方面来看:

生成指的是连接的过程,英文是build,依赖于链接器。vc中在这一阶段将所有的目标文件和所有需要用到的组件组合成一个整体,例如需要生成的是windows系统下的PE可执行文件,链接器会依照特定格式将目标文件组合,最后生成PE格式的,exe或dll文件。

区别三:

从调试方面来看:

调试是所有或部分代码编写完成后,让程序在调试器中运行,用这种手段对程序进行分析,找出并修正潜在问题。

区别四:

从运行方面来看:

运行就是让程序在系统中运行。

(5)内存和编译的区别扩展阅读:

C语言的介绍:

C语言是目前流行的通用程序设计语言,是计算机专业人员和计算机爱好者开发软件的首选开发工具。C语言源程序必须经过某种编译工具翻译成为目标机器语言程序才能够在计算机上执行。

然而随着程序编写规模的扩大,顺利编写出正确的程序绝非一件容易的事情,早期的许多编译工具仅仅提供翻译功能,已满足不了应用的要求,编程人员需要-种功能全面并高度集成的编译环境。

程序是一段具有一定功能的代码,编写程序的目的是解决问题。当程序人员写完程序后,其实并不起作用,只有当编写的程序经过一系列的处理后,能够解决问题时。

序才成为真正的程序,这一系列的处理过程,-般就是编辑、编译、连接、调试与运行等。目前最成熟的C语言集成环境主要有Turbo C2.0和Turbo C 3.0( 简称TC30)或Borland C++3.1( 简称BC31)以及Visual C++ 6.0。

⑹ smarty编译和缓存的区别

你用smarty的时候,模板里面是不是用的它的标签?smarty的编译过程就是把模板拿过来,把里面的标签替换成相应php代码,这就是smarty的编译,就实质来讲,你最终访问的还是php文件,所以就效率上来说没有提高也没有降低
smarty的缓存需要手动开启,smarty的缓存就是把编译好的文件执行后,同时生成一份静态的html页面,再次访问的时候,你访问的就是是html文件了,所以就效率来说,要高一些

⑺ 编译时分配内存和运行时分配内存

编译其实只是一个扫描过程,进行词法语法检查,代码优化而已,编译程序越好,程序运行的时候越高效。
我想你说的“编译时分配内存”是指“编译时赋初值”,它只是形成一个文本,检查无错误,并没有分配内存空间。

当你运行时,系统才把程序导入内存。一个进程(即运行中的程序)在主要包括以下五个分区:
栈、堆、bss、data、code

代码(编译后的二进制代码)放在code区,代码中生成的各种变量、常量按不同类型分别存放在其它四个区。系统依照代码顺序执行,然后依照代码方案改变或调用数据,这就是一个程序的运行过程。

⑻ c语言有几种分配内存的方式,有什么区别

内存分配方式有三种:
[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
[3]从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使用非常灵活,但如果在堆上分配了空间,就有责任回收它,否则运行的程序会出现内存泄漏,频繁地分配和释放不同大小的堆空间将会产生堆内碎块。

阅读全文

与内存和编译的区别相关的资料

热点内容
安卓手机如何进行文件处理 浏览:62
mysql执行系统命令 浏览:920
php支持curlhttps 浏览:134
新预算法责任 浏览:434
服务器如何处理5万人同时在线 浏览:242
哈夫曼编码数据压缩 浏览:415
锁定服务器是什么意思 浏览:375
场景检测算法 浏览:608
解压手机软件触屏 浏览:339
方舟pv怎么转服务器 浏览:99
数据挖掘中误差值算法函数 浏览:119
php开发套件 浏览:191
服务器的spi板是什么 浏览:896
解压缩全能王中文密码是什么 浏览:80
javaftp服务器上传文件 浏览:104
算法设计中文版pdf 浏览:81
视频压缩形式怎么改 浏览:369
perl程序员 浏览:791
电子表格对比命令 浏览:611
php循环输出数组内容 浏览:750