编译器使用时间
⑴ 单片机执行用c编译的程序时,每执行一行语句所需要的时间是多少
不确定,这个和单片机的性能,编译器性能,语句复杂度都有关系。
就像你不能要求1.8G的CPU运行速度和2.8G的同样快,单片机的性能很重要。
同样一条C语句,不同的编译器可能翻译成不同条数的机器码指令,当然,一般一个单片机只认识很有限编译器编出来的目标码,这条基本可以忽略。
还有就是C语句是什么语句,比如运行i++一般只需要一个指令周期,i=i+1却最少需要三个。
所以你的问法应该是“核心频率是XXXHz的单片机,每秒能执行多少汇编指令?”
⑵ 如何知道c语言编译器如CodeC:Blocks运行一个程序时所用的时间和内存呢
可以用profile
⑶ 同一段程序,不同的编译工具,运行时间会不同吗 就比如C-FREE和VC6++
会的,会有很大的差异的。因为不同的编译器会对代码进行不同的优化。你如果你Intel的编译器,可能会更快!
intel 编译器:
https://software.intel.com/en-us/intel-parallel-studio-xe/
⑷ 用c语言写程序,同样的代码,为什么编译时间每次都不一样
这个编译器内部有预编译的东西,所以时间不一样,而且计算机的内存,后台进程不一样,时间也就不一样了
⑸ 编译器编译的时间, 要比解释语言运行的速度慢吗为什么
只能说说通常的情况,因为情况比较复杂
一般来说,编译的语言比解释性语言运行的速度块
不过编译时间的话就很难说了,和编译器本身有关系
解释语言可以不用专成 二进制代码直接运行
⑹ 有什么c或c++编译器可以精确显示算法执行时间
楼主你好你可以调用库函数<time.h>
通过clock()函数来实现计时:
具体的就是在程序单的开始和结束来设定两个时间点,然后除以CLOCKS_PER_SEC来实现!
⑺ 什么是编译时间
用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。编译时间(compiling time) 指编译程序将源程序编译成目标程序所占用的时间。
1 如何减少编译时间
一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个晚上基本上就能把库和应用程序都编好,到了第二天开发人员只需下载最新的库文件和代码文件而不须自己重新编译。这样就能大大节省时间了。
二是使用联合编译器IncrediBuild。这个工具估计大家都不陌生。最近试验了一个新想法,写一个批处理文件,将SVN和IncrediBuild绑在一起,实现了从源码更新到工程编译。
2 批处理文件的命令语法
svnupinclude//更新服务器的include文件夹到本地
BuildConsoleD:\Code\MySolution.sln/prj="MyApp"/build/OpenMonitor/cfg="Debug|Win32"
BuildConsole是IncrediBuild的命令行工具,
D:\Code\MySolution.sln是你的解决方案文件绝对路径,
/prj参数设置你要编译的工程,如果你要编译多个工程,可以这样设置,/prj="prj1,prj2,prj3",
/prj参数也支持通配符,/prj="*"即为编译MySolution.sln下的所有工程
/build为编译工程,若改为/rebuild即是清理重编工程。
/OpenMonitor为打开IncrediBuild的图形化界面,去掉该参数则不出现图形界面。
/cfg为编译设置选项,如要编release版本,可以改为Release|Win32。
把上面的代码保存为BuildDebug.bat,把文件保存在D:\Code\路径下(即源码根目录,下面有include、src和vs三个文件夹),然后运行这个批处理文件就相当于把从更新源码到编译源码这一系列动作都执行了。
⑻ 写一个编译器大概多长时间
写一个简单的编译器,很简单,一个星期够了,但是,它肯定没有实用价值。
你懂的,编译器要把源程序编译为目标机器语言的,不熟悉机器指令,可以用汇编作为目标代码。
⑼ 编译程序出现在计算机时期的什么时候
编译程序出现的计算机时期是:第二代
编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
20世纪80年代以后,程序设计语言在形式化、结构化、直观化和智能化等方面有了长足的进步和发展,主要表现在两个方面:①随着程序设计理论和方法的发展,相继推出了一系列新型程序设计语言,如结构化程序设计语言、并发程序设计语言、分布式程序设计语言、函数式程序设计语言、智能化程序设计语言、面向对象程序设计语言等;②基于语法、语义和语用方面的研究成果,从不同的角度和层次上深刻地揭示了程序设计语言的内在规律和外在表现形式。与此相应地,作为实现程序设计语言重要手段之一的编译程序,在体系结构、设计思想、实现技术和处理内容等方面均有不同程度的发展、变化和扩充。另外,编译程序已作为实现编程的重要软件工具,被纳入到软件支援环境的基本层软件工具之中。因此,规划编译程序实现方案时,应从所处的具体软件支援环境出发,既要遵循整个环境的全局性要求和规定,又要精心考虑与其他诸层软件 工具之间的相互支援、配合和衔接关系。
⑽ 编译程序大多数时间花在什么上
编译程序大多数时间花在目标代码生成。
编译程序把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
(10)编译器使用时间扩展阅读:
编译程序的基本功能是把源程序(高级语言)翻译成目标程序。但是,作为一个具有实际应用价值的编译系统,除了基本功能之外,还应具备语法检查、调试措施、修改手段、覆盖处理、目标程序优化、不同语言合用以及人-机联系等重要功能。
编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。
但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。