VS编译的作用
‘壹’ C#中编译是用来做什么的,在VS2008中怎么操作才算编译编译和运行的区别是什么
源码生成二进制文件就是编译,但还不能运行,要与系统库链接,生成该系统平台上的可执行文件,如,你打开记事本,这个叫运行,记事本这个程序已经编译生成好了,你可以直接运行。在 VS里封装了功能,就是生成,或像播放按钮的工具
‘贰’ 什么是脚本引擎,它有什么作用
脚本引擎,就是一个计算机编程语言的解释器,如用于建网站的asp、php等,它的功能是解释执行用户的程序文本,将它译成计算机能执行的机器代码,完成一系列的功能。例如,Freemarker和Velocity通常被称为脚本引擎。Erb也会出现在这里,但奇怪的是,它并没有经常被称为脚本引擎。
脚本语言通常不需要编译步骤,因此可以更简单地作为shell脚本或从shell脚本运行。包括awk、perl、tcl、python、ruby等,这些语言通常需要简洁,类型安全性通常是可选的。Windows在其脚本宿主功能中支持多种语言。这将脚本语言公开给Windows中的各种组件。

(2)VS编译的作用扩展阅读:
java脚本引擎的设计原理浅析
1、编译型 vs 解析性
如果能够产生一个独立的class文件则属于前者,例如:fel,simpleEl,groovy
否则通过编译成自定义的内存指令就属于后者,例如:QLExpress,aviator,JEXL
2、java语法 vs 表达式语言(EL expression language) vs 脚本(script)
如果语法和java保持一致,不做任何扩展,就是属于第一种:如果语法大量简化(比如去掉显示类、方法、变量声明,异常处理,逻辑跳转循环等等),只支持简单的数学公式、对象方法成员变量调用, 就属于第二种:fel,simpleEl,aviator。
介于两者之间,即提供很好的语法糖,又支持大部分java语法:for循环,if判断,函数定义,就属于第三种:groovy,QLExpress
参考资料来源:网络-脚本引擎
‘叁’ 请问抛砖:VS的编译器到底做了什么
最近在学习并发程序设计,其中有个很重要的概念叫原子操作。网上有很多文章论述原子操作的,其中大部分文章不约而同的都使用到了这个例子++操作,来例证很多高级语言中的一条语句并非是不可拆分的原子操作。出于好奇,本人对++操作的原子性在VS2012下写了一个小程序以测试之,于是乎发现了下面的问题。//测试代码TEST(ConcurrenceTest, Atomic){ std::vector
<std::thread
threads; threads.push_back(std::thread(std::ref(thread))); threads.push_back(std::thread(std::ref(thread)));for(auto &
t : threads) { t.join(); } std::cout<<"total值:"<<total<<
std::endl;}//线程voidthread(){for(inti =0; i <50000; i++) { total++; }}以上代码在release下结果都是100000,但在debug下会小于100000。
了解原子操作的朋友应该知道,debug下小于100000的结果应该属正常现象,因为++操作并不具有原子性,所有在并发的过程中会出现数据竞跑的现象。但是在release下所得到的结果却总是正确的(为了避免偶然性,本人用更多的线程,更大的数据类型同样做过测试,结果依然正确),这不得不怀疑编译器在release下对代码是否做过一定的优化? 那么这种优化对于程序员来说是一件好事么? 他会不会给一些对此了解不深的程序员造成一种正确的假象?本人是个初学者,写这些的目的只是抛个砖,以上的观点也仅是本人的一些小想法,希望有兴趣的朋友能来一起讨论。
‘肆’ QT用VS还是MINGW编译好,有什么区别
都可以。
有时候会用到windows底下一些头文件,这时候可以用VS编译,如果用mingw编译的话有时候会找不到这些头文件。一般情况下用mingw就可以。
‘伍’ 为什么编译java项目那么慢,用VS编译C#为啥那么快
因为java和NET 不是一个开发环境,所以涉及到的相关功能影响二者肯定有速度上的差异,比如说在Windows下 java偶尔慢于net而在Linux下恐怕NET就不行了 ,不同的项目对二个不同语言来说也是编译过程也是截然不同的
