导航:首页 > 源码编译 > 编译对编程有用吗

编译对编程有用吗

发布时间:2022-07-17 07:36:54

1. 中国大学学编译原理有什么用,也没有人开发新的编程语言【编译器】简直是浪费时间

编译原理可以了解源程序是怎么转换成计算机二进制代码的,对于编写高性能程序会有帮助。另外,编译原理所涉及的一些算法和数据结构,词法分析什么的,在一些软件开发中都会用的着。

2. 请问各位编程大佬,C++中,运行和编译运行有什么区别,编译和调试有什么用

编译依赖于编译器,英文是compile,vc中这一过程是将源代码转换成目标文件,如.obj文件,.rc文件等生成应该指的是链接的过程,英文是build.依赖于链接器.vc中在这一阶段将所有的目标文件和所有需要用到的组件组合成一个整体,例如需要生成的是windows系统下的PE可执行文件,链接器会依照特定格式将目标文件组合,最后生成PE格式的.exe或.dll文件.调试是所有或部分代码编写完成后,让程序在调试器中运行,用这种手段对程序进行分析,找出并修正潜在问题.运行就是让程序在系统中运行啦.

3. 编译原理究竟有没有用对编程的人

我跟你说,编译原理太有用了。
我是做手机游戏的,现在做一个游戏引擎。既然是引擎,就需要提供抽象的东西给上层使用。这里,我引入了脚本系统。
这个脚本系统包括一堆我根据实际需求自行设计的指令集,包括基本的输入输出,四则运算,系统功能调用,函数声明,调用等等(其实你要是用过lua或者其他游戏脚本你就知道了。)整个结构包括指令集、编译器、虚拟机等部分。这样,引擎提供一些基础服务,比如绘图,计算位置等,脚本就可以非常简单控制游戏。甚至快速构建新游戏。你应该知道QUAKE引擎吧?
这里提供给你一个计算器的小程序,应用了EBNF理论,支持表达式,比如(2+3*6)*4+4,你自己体验一下它的简洁和强大。
/*
simple integer arithmetic calculator according to the EBNF
<exp> -> <term>{<addop><term>}
<addop>->+|-
<term>-><factor>{<mulop><factor>}
<mulop> -> *
<factor> -> ( <exp> )| Number
Input a line of text from stdin
Outputs "Error" or the result.
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

char token;/*global token variable*/
/*function prototypes for recursive calls*/
int exp(void);
int term(void);
int factor(void);

void error(void)
{
fprintf(stderr,"Error\n");
exit(1);
}

void match(char expectedToken)
{
if(token==expectedToken)token=getchar();
else error();
}

main()
{
int result;
token = getchar();/*load token with first character for lookahead*/
result = exp();
if(token=='\n')/*check for end of line */
printf("Result = %d\n",result);
else error();/*extraneous cahrs on line*/
return 0;
}

int exp(void)
{
int temp = term();
while((token=='+')||(token=='-'))
switch(token)
{
case '+':
match('+');
temp+=term();
break;
case '-':
match('-');
temp-=term();
break;
}
return temp;
}

int term(void)
{
int temp = factor();
while (token=='*')
{
match('*');
temp*=factor();
}
return temp;
}

int factor(void)
{
int temp;
if(token=='('){
match('(');
temp = exp();
match(')');
}
else if(isdigit(token)){
ungetc(token,stdin);
scanf("%d",&temp);
token = getchar();
}
else error();
return temp;
}
其实编程学到一定程度总是没有方向了,总是在问学C/C++下一步怎么学啊,觉得掌握了该语言了云云,实际上,你缺少的就是这些软的东西,缺少的是理论。
编译原理不是单一的理论,它涵盖了一个niche,里面可以学到很多其他知识,比如正则表达式、BNF、EBNF、分析树、语法树还有很多运行时环境等知识
这些给你带来的是非常丰厚的回报。不说多了,学完运行时,你就会加深对C++语言本身的理解。
你要想有好的发展,还是学吧。

4. 关于编译和编程

编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
什么叫编译程序
编译程序:是指这样的程序,它能够把某种语言的程序转换成另一种语言的程序,而后者与前者在逻辑上是等价的.如果源语言是诸如FORTRAN,Pascal,C,Ada,Smalltalk或Java这样的"高级语言",而目标语言如汇编语言之类的"低级语言"这样的翻译程序则称之为编译程序.
注意编译程序与解释程序的区别,一个语言的解释程序是着样的程序:它以该语言写的源程序作为输入,但不产生目标程序,而是边解释边执行源程序本身.
术语"编译"的内涵是实现从源语言表示的算法向目标语言表示的算法的等价变换.
你说学编程还是学编译啊?

5. 在编写程序时要用到编译器,什么是编译器有什么用

VC Borland C Eclipse 都是编译器 就是把你的源代码 编译 解释成机器能读懂的机器码 因为机器内部是用二进制的嘛 所以最终也就是一串 1 0 组成的序列

6. 请问:汇编语言和编译原理对日常编程多大帮助作用

汇编语言和编译原理是计算机专业的基础课,看似没用。当你一旦想深入计算机软件的话,它们的作用就很大了。
而且抓住了基础,学计算机的其它东西就显得是小儿科了。

7. 编程完要编译,编译到底是什么意思

编程就是编写程序,也就是敲代码
编辑应该也是写代码的意思吧
编译一般都是在写了一行代码保存的时候,开发工具会编译你写的代码是否有错,然后会帮你生成一些其他文件

8. 软件编程在学习了编译原理这门课后有什么好处

菜鸟向高手进阶的一个跳板,能够大大加深你对程序设计的理解。

9. 数据库,数据结构,编译原理对编程有那些影响和帮助

他们太重要了,
(1)数据结构:首先要明白---->程序=算法+数据
“数据结构”就是做数据这块的,例如一个“电影播放器”程序,首先要有“电影”吗,这个就是“数据”,那么就要用“数据结构”的知识,怎么存储每一帧,怎么高效,怎么能无损,怎么空间最节省.........,然后才是怎么去“解码”(解码就是“算法”做的啦),当然这么讲起来不是很严谨,但你可以看得出,数据结构可以说的上是有50%的重要性了。
(2)编译原理:不要以为,自己不去开发“语言”,编译原理就没有用啦,它能让你从根本上理解编译器,这对怎么提高程序的效率,怎么变出漂亮的程序很有用................当然貌似如果从事,“人工智能”这一块的话,编译原理也非常重要。
(3)数据库:又是刚才哪一点----------->程序=算法+数据
数据以文件的形式存储,是在不是很高效,所以,为了方便数据的管理与查找等等..........人类作出了“数据库”,说白了,它就是用来解决“数据”这部分内容的,现在基本无论你做什么都离不开数据库了,从大型网游到网站,到手机等的移动设备编程,都要用到数据库
--------------------------------------------------------------------------------------------------
从你的体温来看,你可能刚刚接触编程,没有做过什么成品,随着你越来越了解这个领域,你会刚到这些东西非常重要,当然还有很多东西,与以上三者地位相当,或更高,例如,微型计算机组成原理,等一些硬件方面的知识.......................................
---------------------------------------------------------------------------------------------------
还是“广泛阅读”吧。

10. 编译环境对编程很重要吗

你好!

请参考:
不论是 VC 还是 TC,其实都是C(或C++)语言。不同之处是不同版本(或厂商)的编译器,当然不同版本或厂商的编译器就可能带不同的库文件或工具或宏。
如果你水平够高,不论是那个版本的编译器所提供的工具你都可以不用,也能编出高水平的程序,就是效率低一点(VC等编译器可以迅速卡发一个小程序,就是利用里边的工具和MFC库)
Windows 系统就是用汇编和C++编写的,但是微软决不利用VC里边提供的MFC库(执行效率太低,容易出错)
所以只要你C或C++学的比较好,不论是VC还是TC都可以迅速的掌握(主要是掌握里边的工具和库就行了)

希望可以帮到你,我也在学这个……

阅读全文

与编译对编程有用吗相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:577
python员工信息登记表 浏览:375
高中美术pdf 浏览:158
java实现排列 浏览:511
javavector的用法 浏览:979
osi实现加密的三层 浏览:230
大众宝来原厂中控如何安装app 浏览:911
linux内核根文件系统 浏览:240
3d的命令面板不见了 浏览:523
武汉理工大学服务器ip地址 浏览:146
亚马逊云服务器登录 浏览:521
安卓手机如何进行文件处理 浏览:70
mysql执行系统命令 浏览:928
php支持curlhttps 浏览:142
新预算法责任 浏览:443
服务器如何处理5万人同时在线 浏览:249
哈夫曼编码数据压缩 浏览:424
锁定服务器是什么意思 浏览:383
场景检测算法 浏览:616
解压手机软件触屏 浏览:348