导航:首页 > 源码编译 > c编译器能生成纯指令吗

c编译器能生成纯指令吗

发布时间:2022-06-17 15:24:37

① 我想做一个C语言编译器……

没什么可不可取的,弄出来的话你的编程水平会有很大的提升,没弄出来也会,除非你一开始就放弃.
首先不建议你搞x86架构的,当然想挑战自己也行,因为x86架构的指令格式十分的操蛋.
建议写arm架构的编译器,因为指令结构简单,而且你学了之后做嵌入式方向很有用

工作量相当的大,给你说一下你要点的技能点吧
*数据结构(编程必修)
*编译原理(理论知识,没有他你没法下手)
*了解一种架构的汇编语言(不会的话你不知道怎么该让cpu去处理c的语句)
*了解你学的那种架构的汇编语言的指令格式(不翻译成机器指令cpu咋跑)
*了解一种可执行文件的格式(windows就搜PE文件的格式,linux就搜elf文件的格式,不把编译出来的东西组织成os能识别的格式咋运行)
*还有需要一定的英文阅读能力(因为有的资料没有中文)

还有一定要丢掉老掉牙的vc 6.0和tc,这俩家伙用来应付考试还行,用他来实际开发你就找虐吧.

② 正常编写的c语言程序编译器会自动进行针对特定指令集用汇编语言优化吗

这个要看你使用什么编译器了。查看编译器的帮助文档,它会告诉你它支持那些指令集,并且做哪些可能的优化。

不同的编译器,是不一样的。

补充:GCC 不太清楚,你连VC++的版本都不说。汗,VC6是不支持SSE的,需要安装VC6SP5。
VS2005 和 VS2008 都支持 SSE。对 SSE/MMX 指令集优化得最好的,还是 Intel 的 c++ 编译器。

对并行和高性能计算,Fortran 的优势比较大。特别是 Fortran2003 的新特征,为并行计算做了很多专门的设定。Intel 也有 Fortran 的编译器。

③ c++编译器都能编译C吗

可以的! 但是部分字符串方面需要转换,还有宏的定义等 C++编译器一般用VC6.0,就是Visual studio 2005 现在可能用2010了吧

④ 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语言编写好代码后,怎么编译,最后生成可执行文件

材料/工具:vc6.0

1、打开c语言编辑工具,在工具中写入程序的源代码。

⑥ 什么是c编译器有什么用,可以用它来写C语言吗

所谓c语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析,按照c语言的规则,将其转换成系统可以执行的二进制文件。
其本质在于对文件的读入,分析,及处理。这些操作,c语言都是可以实现的。
所以用c语言来做c语言的编译器是完全可行的。
但是,历史上的第一个c语言编译器,肯定不是c语言写的,因为在没有编译器时,无法把c语言转换成可执行文件。
只要有了第一版其它语言的编译器,就可以用c语言写编译器了。
事实上,目前大多数的c语言编译器,都是用c语言写的。

⑦ c++编译器都有什么,怎么可以用命令行编译c++,怎样学习c++,c++和vc++的区别是什么

c++的编译器常见的有 微软的, GCC(linux下最常用的,也有windows版本,叫mingw) 和 intel的(intel有不少好东西,对性能要求高的话可以考虑)
但是集成开发环境就多了 微软的 visual studio (VC6 VC2005 VC2008)系列,也可以把intel的编译器挂到VS下面,取代微软的编译器,dev-c++ 和 codeblocks 这两个用的都是用的GCC的编译器。
windows下 ,最好不用命令行编译很麻烦的,大一点的项目还要写makefile来管理,linux下 g++ -o file file.cc 然后 ./file 就能执行刚才的程序了
学C++ 多练 多写代码 找本好的参考书 比如 c++ primer ,教材随便找本就行了 网上可以下到电子书的
c++是一门语言 而VC++通常指的是微软为了开发windows下的图形界面程序,而给出的一些API函数,以及封装了这些API函数的MFC库,它们的语法是C++的语法。C++在linux下可以照常使用,但VC++到了linux下就没法用了,因为linux下没有MFC库,当然它也有自己的一些图形库

⑧ C++程序进行编译后会生成C语言代码还是汇编代码

不是汇编输出,更不是机器代码,而是链接器输出
当然不是机器代码,否则这个程序就可以在无操作系统环境下跑,或是在windows下编译出的exe能够在unix上跑,这当然是不对的。
(当然有直接生成机器码的编译器,不过不是我们常见的)
实际上编译出的程序是操作系统相关的,那是因为不同的操作系统的函数库是不相同的。编译器就是将程序与操作系统的函数库链接(比如屏幕的显示,键盘的输入等)。当然只会有少量机器码。

⑨ c语言的编译与处理器的指令集有关吗一定要CISC吗RISC可不可以

C语言只是用于描述问题和算法的一种语言,而在实际机器上真实运行的却是各处理器自己的机器指令。编译器的工作就是将C语言翻译为机器指令。对你的问题答复如下:1. C语言与指令系统没有关系,但是编译器翻译的指令与指令系统有关系;2.无论CISC还是RISC,编译器都可以将C语言翻译为对应的机器指令。

⑩ 相同的c语言代码,在不同的编译器,不同的操作系统上面生成的指令是不是不同的

不同的CPU生成的指令不一样、不同的编译器C语言实现方式不一样、不同的操作系统API不一样。使用C语言只能做到源代码级别的跨平台和跨编译器。

阅读全文

与c编译器能生成纯指令吗相关的资料

热点内容
我的世界无尽贪婪奇点压缩器 浏览:391
源码资源免费分享网 浏览:683
批量qq号有效验证源码 浏览:511
本科程序员五年工资 浏览:899
创维电视柜怎么安装app 浏览:850
可爱的程序员陆漓剧照 浏览:850
怎样把截屏压缩成300kb 浏览:224
dart文件加密 浏览:39
java对接摄像头源码 浏览:885
安卓项目开发实例附源码 浏览:728
程序员苹果全家桶 浏览:197
远程命令阻塞 浏览:730
有网页源码怎么查数据 浏览:100
win10下make编译速度过慢 浏览:866
微机原理编译环境 浏览:18
怎么把图纸转换成pdf 浏览:541
安卓libcurl编译64 浏览:905
手机app怎么测速 浏览:275
中兴gpon命令 浏览:885
python中取出字典key值 浏览:682