c可以做即时编译吗
可以采用自展的方法。当年的PASCAL语言编译器就是这样被创造出来的。
具体方法是:首先用其它任何一门语言写一个非常精简的C语言内核,可以只具备基本的功能。再用这个内核本身来编写更大一点的内核。不断重复以上的步骤就可以得到一个完整的C语言编译环境,只是这样做的难度太高了,做起来恐怕有困难。
② C语言既可以编译执行又可以解释执行吗 编译执行怎么解释 解释执行又怎么解释
C 语言程序仅可以解释执行。
解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。
相对于编译性语言,其优点是可移植性好,只要有解释器环境,程序就可以在不同的操作系统上运行。
缺点是代码需要有专门的解释器,在程序运行时,除要给用户程序本身分配内存空间外,解释器也占用系统资源,所以其运行速度较慢。另外,也很难达到像C、C++那样操作系统底层操作的目的。
解释型语言常用于,一是对运行速度要求不高(如一些网页脚本等)的场合,二是对跨平台(操作系统的兼容性)有要求的场合。
(2)c可以做即时编译吗扩展阅读
1、Python和Java语言,专门有一个解释器能够直接执行Python程序,每个语句都是执行的时候才翻译。
2、Python代码在运行前,会先编译成中间代码,每个 .py 文件将被换转成pyc 文件,pyc 就是一种字节码文件,它是与平台无关的中间代码。不管放在 Windows 还是 linux 平台都可以执行,运行时将由虚拟机逐行把字节码翻译成目标代码。
③ 什么是c编译器有什么用,可以用它来写C语言吗
c编译器就是把你写的c语言程序转换成机器能理解及执行的代码
④ C++编译器可以编译C程序吗
为什么不早说是VC++2010,用它编译C语言程序的方法如下:
File->New->Project
在打开的New Project对话框中最左侧一栏中选择Visual C++下面的CLR,之后在其右侧的区域中选择CLR Empty Application
并在下面的三个文本框中填入工程名称(Name),工程位置(Location)以及解决方案名称(Solution Name)
之后单击OK
然后可以解决方案浏览器中看到刚才新建的工程,右击工程名,选择Properties(属性),在打开的对话框中选择Configuration Properties(配置属性)下面的General(一般),然后将右边对话框中的Common Language Runtime Support(CLR支持)改为"No Common Language Runtime Support",然后点击确定退出
接下来右击工程中的Source Files,选择Add->New Item...,在打开的对话框中选择“C++ File(.cpp)",并在下方输入一个以.c结尾的文件名,之后点击Add,之后就可以在这个文件中加入C语言代码,按F5就可以调试运行了。
⑤ C语言如何编译
可以这样做:1、新建C/C++源文件(在文件这里选择新建)2、命名C/C++源文件名,并为它指定保存路径(选择文件中的C/C++source File)(并在右边输入文件名,选择保存位置,点击确定)3、开始录入程序(在空白的工作窗口录入程序)4、编译(点击第一个红框,所有的提示均按确定),运行(红色感叹号)
⑥ C语言可以人工编译吗
你说的是不用集成环境来而是自己手动编译吧?可以的呀!
eg:打开控制台,然后把目录切换到你的编译器的bin目录下的编译核心程序(我用wintc,目录是:F:\Win-TC\bin\20cn),然后在控制台下输入"tcc
h.c"(h.c是我写的一个测试C程序),然后会在当前目录下生成可执行程序h.exe,然后你再在控制台下输入h.exe就可以看到编译结果了,当然,编译的时候有很多可选选项的,你可以翻看你的编译器手册...
⑦ 请问C程序的编译、链接、运行可以一次性完成吗
应该可以的
写脚本
参数就是 源程序名 最后生成的可执行文件 脚本 最后 运行这个可执行文件
⑧ 我想做一个C语言编译器……
没什么可不可取的,弄出来的话你的编程水平会有很大的提升,没弄出来也会,除非你一开始就放弃.
首先不建议你搞x86架构的,当然想挑战自己也行,因为x86架构的指令格式十分的操蛋.
建议写arm架构的编译器,因为指令结构简单,而且你学了之后做嵌入式方向很有用
工作量相当的大,给你说一下你要点的技能点吧
*数据结构(编程必修)
*编译原理(理论知识,没有他你没法下手)
*了解一种架构的汇编语言(不会的话你不知道怎么该让cpu去处理c的语句)
*了解你学的那种架构的汇编语言的指令格式(不翻译成机器指令cpu咋跑)
*了解一种可执行文件的格式(windows就搜PE文件的格式,linux就搜elf文件的格式,不把编译出来的东西组织成os能识别的格式咋运行)
*还有需要一定的英文阅读能力(因为有的资料没有中文)
还有一定要丢掉老掉牙的vc 6.0和tc,这俩家伙用来应付考试还行,用他来实际开发你就找虐吧.
⑨ 执行C语言一定要先编译么,不可以直接执行么
一般来说编译过后就成了基本上能执行的2进制代码。但是这些2进制代码并不完善,一个程序往往需要调用不止一部分的代码,所以需要把这些代码全部整合起来才能执行。
即时你的程序看起来只有一个文件,但是编译过后,多多少少里面至少会调用到一些操作系统功能,和其它的一些设置,所以依然需要组建这个过程把这个程序和这些系统默认的代码组建起来形成一个完成、单一的可执行文件。所以一般组建过程就包含了组建内部和外部代码,一般来说内部代码就是我说的系统预留的必要的一些代码(例如怎么具体完成把一些字符显示在屏幕上呀这些功能),而外部代码就是额外的调用自己写得或者别人写得其它程序功能(往往当你的程序调用了非c标准函数的时候)。
所以就算你的代码可以编译,但是可能因为组建并不成功(例如需要组建的代码本身有bug,或者丢失,或者版本不匹配),你的程序依然可能无法正确运行。