① 求c语言编译器及使用方法!!新手!!
编译器有很多种,下面介绍两种
1。turbo c 比较实用的编译器
按f10,用方向键选择最左边file,点回车键出现下拉菜单,选择第一个,把里面的内容全删了然后输入x:\(x为源文件所在盘),找到源文件,回车键打开。
然后再按f10,选择run或单击r运行,或者直接按f9编译,编译后的文件在turbo c 所在文件夹的 out put文件夹里面。
2。visual c++事实上这不只是单纯的编译器,应该说是开发环境,但包含有编译功能,直接鼠标操作就可以了。
② 什么是代码走读和代码机械化
(1) 代码走读都有哪些内容?
代码走读根据目的的不同,可以分为四个层次:
1、检查是否符合编程规范;
2、寻找编译器中的设计陷阱;
3、快速理解源代码,找出流程设计中的问题;
4、对原有代码的重构;
这四个层次可以按照从简单到复杂的顺序进行。
(2) 这四个层次都有什么区别和意义?
1、 检查是否符合编程规范;
编程规范融合并提炼了许多人多年开发编程语言程序积累下来的成熟经验,帮助编程者形成良好的编程风格,提高源程序的可读性和可维护性,降低出错的机会,迅速跨入业已存在的且具有相当高度的技术层次,并能够为提高代码的复用性提供积极的参考。
2、 找编译器中的设计陷阱;
术语“陷阱”的发展历史并不明确,而且它有多种定义方法。本文定义为编程和设计过程中常见的和可防止的问题,能顺利通过编译,没有任何警告和错误信息,而且计算机严格按照作者写明的代码执行,但是结果却不是作者期望的。许多IT人士都知道,现在市场上有很多新的编译器,它们可以捕获大部分程序错误,但遗憾的是,仍有许多错误是编译器不能发现的。打个比方,拼写检查程序是用来查找拼写错误的,但是,如果单词DOG被错误地写为CAT,您能指出单词CAT(实际是DOG)中的拼写错误吗?很显然,不能。因为这个单词可顺利通过拼写检查程序。
这里描述的陷阱所包括的范围广泛,从较容易的语法问题,基本设计缺陷,到完全错误的行为。利用正确的使用方法来说明这些常见的误解和误用,可以防止编程者出现类似的问题,并防止新一代程序员重复过去的错误。
3、 快速理解源代码,找出流程设计中的问题;
无论是沟通程序的操作,还是将知识存储为可执行的形式,软件的源代码都是最终的介质。我们可以将源代码编译成可执行程序,也可以阅读代码来了解程序的功能及其工作方式,还可以修改源代码来改变程序的功能。大多数编程课程和书籍都将重点放到如何从零开始编写程序上。然而,在软件系统的工作投入中,40%~70%是用在系统首次编写完整之后,这些工作一定涉及到阅读、理解、以及修改最初的代码。另外,遗留代码持续不断、不可避免的累积;对软件重用的强调;软件行业中人员的高流动性;同时,开放源代码开发工作和协同开发过程(包括外包、代码走查和极限编程)日益重要,使得代码阅读成为当今软件工程师的一项基本功能。此外,阅读实际的、编写良好的代码,可以更加深入地了解如何改造与编写重要的系统,仅仅编写小型的程序学不到这种能力。
有时,阅读代码是一件不得不去做的事,比如:为了修复、检查或改进现存的代码,都必须去阅读相关的代码。有些时候,阅读代码也许是为了了解程序是如何工作的,对于任何能够“打开盖子”的事务,作为工程技术人员,我们总是倾向于分析一下它的内部结果。您阅读代码可能是想提取可供重用的材料,或者仅仅是出于个人兴趣,将代码作为一种文献。每种原因的代码阅读都有自己的一套技术,强调不同方面的技能。
代码走读中的阅读源代码强调的是通过快速理解源代码,找出流程设计中的问题这个目的。
4、 对原有代码的重构;
重构的含义是:在不破坏可观察功能的前提下,借由搬移、提炼、打散、凝聚……,改善事务的体质、强化当前的可读性、为将来的扩充性和维护性做准备、乃至于在过程中找出潜在的“臭虫”,就成了大受欢迎的稳步前进的良方;
(3) 编程规范、设计模式和设计陷阱是什么关系?
模式是避免陷阱或从特定陷阱中恢复的一种方法;
从陷阱的角度来看,设计模式有两个重要属性。首先,他们描述了经过实践证明的成功的设计技术,而且可以用上下文相关的方法定制它们,以适应新的设计情况。其次,更加重要的是,提及特定的模式时,不仅说明了所应用的技术,而且说明了应用的原因以及结果;
当需要时,适合设计或者编码上下文的模式、惯例、编程规范,将“自然地”从自己的潜意识中冒出来,这说明正确使用了模式、惯例、编程规范的一种迹象;
识别陷阱与对条件的反射类似,一朝被蛇咬,十年怕井绳。然而与比赛和打仗一样,为了学习如何识别和避免危险情况,并不需要一定被烧伤或者被枪伤。一般情况下,必要条件就是提前警觉;
(4) 设计模式和重构是什么关系?
设计模式给我们的,不仅仅是一些问题的解决方案,更有追求完美“模型”的渴望,但是,Joshua Kerievsky在那篇着名的《模式与XP》中明白地指出:在设计前期使用模式常常导致过度过程。这是一个残酷的现实,单凭对完美的追求无法写出实用的代码,“实用”是软件压倒一切的要素。
(5) 快速理解源代码和重构是什么关系?
进行重构时,您从一个能够正常工作的系统开始做起,希望确保结束时系统能够正常工作。一套恰当的测试用来可以帮助您满足此项约束,所以重构应该从编写测试用例入手。一种类型的重构专注于修复一种已知的问题点。在此,您必须理解老的代码、设计新的实现、研究新的实现对相关其它代码造成的影响(多数情况下,新代码能够“无声无息”地完成替换)并实现更改,所以重构需要先快速理解老的代码。
(6)快速理解源代码查找缺陷和寻找设计陷阱查找缺陷有什么不同?
快速理解源代码找出的代码中的问题一般是流程设计上和软件需求满足上的特定的问题,需要读者翻很多页(发现前后的关联),而寻找设计陷阱找出的代码中的问题一般是普遍性的问题,一般不需要读者翻页,就在这一行的上下文中就可以找到。
(7)这几个层次的代码走读和单元测试是什么关系?
只有快速理解了源代码才可以完成单元测试,或者说快速理解源代码是完成单元测试的前提;
利用单元测试可以帮助更好地重构;
代码走读发现的问题比单元测试发现的更多、更快和更早;
单元测试发现不了不满足编程规范的问题
(8)代码走读都有哪些方法?
形式上可以遵从同行评审的结构化的正规检视、走查、单人复审等;
人工走读时,检查单可以按照头脑风暴、亲和图、鱼骨图方法形成系统化的检查树和处理机制;
工具走读可以借助一些商用的测试工具和自己开发的辅助工具进行走读。
(9)代码走读听起来是不错,如何才能达到效果吗?
代码走读中使用的检查单(或检查树)是很多人提炼和总结出来的结晶,市场和业界这方面的资料比较缺乏,因为多是个别大公司或个人的心血,所以很少在外面流传,自己研究和总结有点得不偿失,不如参考行业的优秀实践,所以最好接受有经验的专家的培训或向有经验的同行请教,在指导下开展推行,避免浪费自己的宝贵时间。
(10)代码走读和同行评审是什么关系?
同行评审是一种比较偏管理的方法,评审的材料可以包括文档和代码,对于代码的同行评审就是代码走读,本文讲的代码走读偏重于技术层面的方法,两者只有有效地结合才能更大地发挥它们的威力!
③ c语言的编译器问题。
当VC++出现Compiling... Error spawning cl.exe 错误的解决办法有如下几种,请楼主尝试:
方法1:
启动VC时不要用图形界面,通过在命令提示符下输入:Msdev /useenv运行(注意啦/前面有个空格).它会强制使系统环境变量全高设置成正确值.而且,只需要使用一次这样的方式运行VC,以后再次通过双击图标的方式启动也不会有问题。
方法2:
使用你的VC安装盘修复一下。
方法3:
在VC中点击“Tools”—>“Option”—>“Directories”,发现路径有误,重新设置“Excutable Fils,Include Files,Library Files,Source Files”的路径。
要是显示“找不到mspdb60.dll”,去能正常运行VC++的电脑中搜索mspdb60.dll文件,拷贝到你的机器上Microsoft Visual Studio\Common\MSDev98\Bin下。缺失其他文件类似操作O(∩_∩)O。
方法4:
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的
“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的
选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
④ 如何在地图编辑器中像魔兽争霸3冰封王座的战役一关中一样设置陷阱。
先创建一个马甲在马甲上添加蝗虫技能和永久祭祀移动等等改为O然后在要出现火焰的地方弄几个区域
再如图触发其实不用触发也可以再添加个重生技能就好了生命回复速度改为负数
悲剧火焰马甲=火焰的模型马甲挂了不就火焰停止了吗马甲创建了火焰不就燃烧了嘛--0再不会留邮箱
⑤ 急~~~~C语言问题:为什么把函数写在主函数后面,但没在主函数内声明,却没有报错
这里涉及到一个路径的问题。我们编写好的程序main函数是入口,当编译器变异的时候会根据里面调用到的其他函数去寻找加载进来一起编译(非main函数如果不被main函数调用其实根本上就没用,这里指的是不被main函数调用和main函数调用过的函数调用),假如是include进来的编译器就知道去库函数里面加载那一个函数,而没有include进来的就会在本目录下检索,假如检索不到就编译出错。库函数所在就相当于老地方,而main函数所在的地方就相当于本地,这两个都是被编译器熟知的。
其实除了c语言,java也会这样,不在同一个包内的类需要导入,在同一个包里面的类不需要导入(import),在同一个java文件里面的类(内部类或者类外面定义的类都一样)也不需要导入。因为编译器知道在这两个地方找,去类库找就需要指定哪一个。
⑥ 编译器怎么使用
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的
“Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的
选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
⑦ 魔兽争霸地图编辑器中幽灵技能有什么用
对应两个不同的单位技能,幽灵技能就是岗哨守卫的永久不可见技能,而可见的幽灵技能就是静止陷阱的不可见技能,当触发陷阱时其实还是可见的~
⑧ 编译器的问题!vc++
非正版软件都可能遇到此类问题,你可以用ctrl+alt+del强行关闭后重新运行,第二次一般就没事了,有时并不是你程序的问题。
⑨ 习语言作为国产编译器,能直接编译c代码,完全兼容c,为啥很多会点c的人要排斥它呢
ANSIC一般都可以支持,但也涉及到不同版本的C标准的兼容性问题,比如VC6不支持C99,VS2003,2005,2008,20120等就可以部分支持C99标准;而且很多标准并没有规定实现,不同的编译器实现可能不同,比如C标准只规定了short<=int<=long,但并没有规定字节数,导致不同的编译器数据类型的大小各不相同。非ANSIC标准的话,不同的编译器一般都有不同的实现,需要分别实现。在移植到不同编译器的时候这些都要注意处理,比较常规的做法是数据类型和函数等自己根据不同编译器封装成一个统一的格式,在程序中使用封装后的数据类型或函数,而不要使用原生类型,这样在移植时只需要在封装的地方根据编译器的不同进行修改就可以了,不需要再修改源代码。
⑩ 编译器有什么用
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。