当前位置:文档之家› mt.exe:general error c101008d解决方案

mt.exe:general error c101008d解决方案

mt.exe:general error c101008d解决方案

问题如下图:

问题描述:使用ANSYS二次开发能力,进行编译连接时出现该问题:mt.exe:general error c101008d:Failed to write the updated manifest to the resource of file ”ANSYS.exe”.f。其他软件使用过程中如果遇到这个问题,以下解决方案也可作为参考。

解决方案:

1、确认mt.exe文件未丢失。打开文件夹:C:\Windows,查看文件是否存在。如果确实存在,

继续第2步;如果没有,点此下载:MT.exe

。尝试是否解决,如果没有解决,继续第

2步。

2、完全关闭或退出360、金山卫士/杀毒等之类的软件,尝试是否解决,如果没有解决,关

闭卫士和杀毒软件自动重启设置。重启电脑,再次尝试,问题应该可以解决了。

KEIL常见编译错误大全

KEIL常见编译错误大全 【致命错误】 立即终止编译这些错误通常是命令行指定的无效选项的结果当编译器不 能访问一个特定的源包含文件时也产生致命错误 致命错误信息采用下面的格式 C51FATAL-ERROR– ACTION: LINE: ERROR: C51TERMIANTED. C51FATAL-ERROR– ACTION: FILE: ERROR: C51TERMIANTED. 下面说明Action和Error中可能的内容 Actions ALLOCATING MEMORY 编译器不能分配足够的存储区来编译指定的源文件. CREATING LIST-FILE/OBJECT-FILE/WORKFILE 编译器不能建立列表文件,OBJ文件,或工作文件这个错误的出现可能是磁盘满或写保护,或文件已存在和只读. GENERATING INTERMEDIATE CODE 源文件包含的一个函数太大,不能被编译器编译成虚拟代码.尝试把函数分小或重新编译. OPENING INPUT-FILE 编译器不能发现或打开所选的源或包含文件. PARSING INVOKE-/#PRAGMA-LINE 当在命令行检测到参数计算,或在一个#pragma中检测到参数计算,就产生这样的错误. PARSING SOURCE-FILE/ANALYZING DECLARATIONS 源文件包含太多的外部参考.减少源文件访问的外部变量和函数的数目. WRITING TO FILE

C语言中常见的错误

."c"not an argument in function sum该标识符不是函数的参数 2.array bounds missing]in function main缺少数组界限符"]" 3.Array size too large in function main数组规模太大 4.bad file name format in include directive在包含指令中的文件名格式不正确. 5.Call of non-function in function main调用未经过定义的函数. 6.cannot modify a const object in function main对常量不能进行修改. 7.character constant too long in function main字符常量太大 8.constant expression required in funtion main数组定义的时候,数组大小要求是常数 https://www.doczj.com/doc/3213942803.html,pound statment missing}in function main复合语句漏掉符号"{" 10.declaration syntax error in function main宣告语法错误 11.expression syntax in function main表达式语法错误 12.extra parameter in call to sum in function调用函数时使用了过多的参数 13.illegal use of floating point in function main浮点数的不合法使用 14.illegal pionter subtraction in function main不合法的指针相减 15.invalid pointer addition in function main无效的指针相加 16.out of memory in function main内存不足

VC6.0中 各link错误解决方案

VC6 各link错误解决 修改浏览权限| 删除错误1: LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 在project-setting-link里找到project options 去掉里面的/subsystem:console 错误2: nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endt... 将工程设置为Using MFC in a static library 错误3: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 在project-setting-link里找到project options 将里面的/subsystem:console 改为/subsystem:windows ///////////////////////////////////////////////////////////// VC6的几个Link error 修改浏览权限| 删除sega 发表于- 2005-9-30 19:56:00 今天下午别人问我的,错误大概是这样: nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex Debug/poisson.exe : fatal error LNK1120: 2 unresolved externals Error executing link.exe. 我也不知道到底nafxcwd这个库是怎么回事,就google了一下,果然找到些东西: 解决外部符号错误:_main,_WinMain@16,__beginthreadex 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16 nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex 下面介绍解决的方法:

常见C语言错误提示信息

Ambiguous operators need parentheses 不明确的运算需要用括号括起Ambiguous symbol ''xxx'' 不明确的符号 Argument list syntax error 参数表语法错误 Array bounds missing 丢失数组界限符 Array size toolarge 数组尺寸太大 Bad character in paramenters 参数中有不适当的字符 Bad file name format in include directive 包含命令中文件名格式不正确 Bad ifdef directive synatax 编译预处理ifdef有语法错 Bad undef directive syntax 编译预处理undef有语法错 Bit field too large 位字段太长 Call of non-function 调用未定义的函数 Call to function with no prototype 调用函数时没有函数的说明 Cannot modify a const object 不允许修改常量对象 Case outside of switch 漏掉了case 语句 Case syntax error Case 语法错误 Code has no effect 代码不可述不可能执行到Compound statement missing{ 分程序漏掉"{" Conflicting type modifiers 不明确的类型说明符 Constant expression required

要求常量表达式 Constant out of range in comparison 在比较中常量超出范围Conversion may lose significant digits 转换时会丢失意义的数字Conversion of near pointer not allowed 不允许转换近指针 Could not find file ''xxx'' 找不到XXX文件 Declaration missing ; 说明缺少";" Declaration syntax error 说明中出现语法错误 Default outside of switch Default 出现在switch语句之外Define directive needs an identifier 定义编译预处理需要标识符Division by zero 用零作除数 Do statement must have while Do-while语句中缺少while部分Enum syntax error 枚举类型语法错误 Enumeration constant syntax error 枚举常数语法错误 Error directive :xxx 错误的编译预处理命令 Error writing output file 写输出文件错误 Expression syntax error 表达式语法错误 Extra parameter in call 调用时出现多余错误 File name too long 文件名太长 Function call missing ) 函数调用缺少右括号

内存读取错误的原因

该内存读取错误,不能read 或written 2010年06月15日星期二 4:57 P.M. 该内存不能read 或written的常见原因: 使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的 0x00000000内存,该内存不能written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。 一、应用程序没有检查内存分配失败 程序需要一块内存用以保存数据时,就需要调用操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。 内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。 若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存。真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为“0x00000000”。 内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。 二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。 如果系统经常有所提到的错误提示,下面的建议可能会有帮助: 1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系

c语言中常见的错误

."c" not an argument in function sum 该标识符不是函数的参数 2.array bounds missing ] in function main 缺少数组界限符"]" 3.Array size too large in function main 数组规模太大 4.bad file name format in include directive 在包含指令中的文件名格式不正确. 5.Call of non-function in function main 调用未经过定义的函数. 6.cannot modify a const object in function main 对常量不能进行修改. 7.character constant too long in function main 字符常量太大 8.constant expression required in funtion main 数组定义的时候,数组大小要求是常数 https://www.doczj.com/doc/3213942803.html,pound statment missing } in function main 复合语句漏掉符号"{" 10.declaration syntax error in function main 宣告语法错误 11.expression syntax in function main 表达式语法错误 12. extra parameter in call to sum in function 调用函数时使用了过多的参数 13.illegal use of floating point in function main 浮点数的不合法使用 14.illegal pionter subtraction in function main 不合法的指针相减 15.invalid pointer addition in function main 无效的指针相加 16.out of memory in function main 内存不足 17.statement missing ; in function main 语句后面漏掉分号. 警告报错 1."k" is assigned a value which is never used 定义了一个变量,但程序从来没用过 2.possibiy incorrect assignment in function main 这样的赋值可能不正确 3. suspicious pointer conversion in function main 可疑的指针转换 4.code has no effect in funtion main 代码对程序没效果 Ambiguous operators need parentheses:不明确的运算需要用括号括起 Ambiguous symbol 'xxx' :不明确的符号 Argument list syntax error:参数表语法错误 Array bounds missing :丢失数组界限符 Array size toolarge :数组尺寸太大 Bad character in paramenters :参数中有不适当的字符 Bad file name format in include directive :包含命令中文件名格式不正确 Bad ifdef directive synatax :编译预处理ifdef有语法错 Bad undef directive syntax :编译预处理undef有语法错 Bit field too large :位字段太长 Call of non-function :调用未定义的函数 Call to function with no prototype :调用函数时没有函数的说明 Cannot modify a const object :不允许修改常量对象 Case outside of switch :漏掉了case 语句 Case syntax error :Case 语法错误 Code has no effect :代码不可述不可能执行到 Compound statement missing{ :分程序漏掉"{" Conflicting type modifiers :不明确的类型说明符 Constant expression required :要求常量表达式 Constant out of range in comparison :在比较中常量超出范围 Conversion may lose significant digits :转换时会丢失意义的数字 Conversion of near pointer not allowed :不允许转换近指针

VC6.0编译错误解决方法集锦

VC6.0编译错误解决方法集锦 windows编程2010-05-08 21:14:39 阅读83 评论0 字号:大中小订阅 VC6.0编译错误解决方法集锦 最近打算学习一下网络编程,而大部分socket编程环境都是Unix的,很是不便,在windows中总是不能编译,特寻得一篇文章解决此痒。爽哉、爽哉! linking... server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol s erver.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol s erver.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol server.obj : error lnk2001: unresolved external symbol 原因和解决办法: 找不到相应函数,问题是Link选项里没有加入相应的lib库,winsock要连接wsock32.lib。特定库的找到办法是看LNK2001中找不到的函数名,通过msdn或者其他手段获取这个函数所在的库名,链接进去就OK了。 可以在project->setting->Link->object/library modules 里添加wsock32.lib,也可在stdafx.cpp 里添加#pragma comment(lib,"wsock32.lib") 一般来说, 这是工程的类型选择错误引起的.如在VC中, 1.本来应该选择"Win32 Console Application",而错误选择了"Win32 Application" 2.使用了MFC的类,而选择"工程"的"设置"不使用MFC库编译. 改正的方法有: 1. 选择"工程"-> "设置"-> 连接,在底部的编辑窗口中,找到"/subsystem",把其改成 "/subsystem:console" "/subsystem:windows". 2.在"工程"-> "设置"->"一般"选项中,在MFC项中改为"USE

IAR常见编译错误

【转】IAR常见编译错误—比较全 IAR常见编译错误,比较全面的: 前面的序号表示错误编号 0 Format chosen cannot support banking Format unable to support banking. 1 Corrupt file. Unexpected end of file in module module (file) encountered XLINK aborts immediately. Recompile or reassemble, or check the compatibility between XLINK and C compiler. 2 Too many errors encountered (>100) XLINK aborts immediately. 3 Corrupt file. Checksum failed in module module (file). Linker checksum is linkcheck, module checksum is modcheck XLINK aborts immediately. Recompile or reassemble. 4 Corrupt file. Zero length identifier encountered in module module (file) XLINK aborts immediately. Recompile or reassemble. 5 Address type for CPU incorrect. Error encountered in module module (file) XLINK aborts immediately. Check that you are using the right files and libraries. 6 Program module module redeclared in file file. Ignoring second module XLINK will not produce code unless the Always generate output (-B) option (forced dump) is used. 7 Corrupt file. Unexpected UBROF – format end of file encountered in module module (file) XLINK aborts immediately. Recompile or reassemble. 8 Corrupt file. Unknown or misplaced tag encountered in module module (file). Tag tag XLINK aborts immediately. Recompile or reassemble. 9 Corrupt file. Module module start unexpected in file file XLINK aborts immediately. Recompile or reassemble. 10 Corrupt file. Segment no. segno declared twice in module module (file) XLINK aborts immediately. Recompile or reassemble. 11 Corrupt file. External no. ext no declared twice in module module (file) XLINK aborts immediately. Recompile or reassemble. 12 Unable to open file file XLINK aborts immediately. If you are using the command line, check the

常见内存故障解析大全

常见内存故障解析大全 导读:我根据大家的需要整理了一份关于《常见内存故障解析大全》的内容,具体内容:内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。1、无法正常开机支招:遇到这类现象主要有三个解决的途径:... 内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。 1、无法正常开机 支招:遇到这类现象主要有三个解决的途径:第一,更换内存的位置,这是最为简单也是最为常用的一种方法,一般是把低速的老内存插在靠前的位置上。第二,在基本能开机的前提下,进入BIOS设置,将与内存有关的设置项依照低速内存的规格设置。比如:使用其中的一根内存(如果是[url="]DDR[/url]333和DDR400的内存混合使用,最好使用DDR333的内存),将计算机启动,进入BIOS设置,将内存的工作频率及反应时间调慢,以老内存可以稳定运行为准,方可关机插入第二根内存。 2、计算机运行不稳定 支招:遇到这类问题的出现主要是内存兼容性造成的,解决的基本思路是与上面大体相同。第一,更换内存的位置。第二,在BIOS中关闭内存由SPD自动配置的选项,改为手动配置。第三,如果主板带有I/O电压调节功能,可将电压适当调高,加强内存的稳定性。 3、混插后内存容量识别不正确

支招:造成这种现象的原因,第一种可能是主板芯片组自身的原因所造成的,一些老主板只支持256MB内存的容量(i815系列只支持512MB),超出的部分,均不能识别和使用。当然还有一些情况是由于主板无法支持高位内存颗粒造成的,解决这类问题的惟一方法就是更换主板或者内存。另外在一些情况下通过调整内存的插入顺序也可以解决此问题。 内存混插不稳定的问题是一个老问题了。面对这种情况,笔者建议您在选购内存条时,要选择象金士顿、金泰克这些高品质内存,因为它们的电气兼容性及稳定性都比较出色,出现问题的几率要低一些,并且售后也都有保障。 另一部分是因为内存在使用过程中,金手指与主板的插槽接触不良引起或者是中了病毒等原因引起的问题,具体出现的内存问题及支招如下。在 4、电脑无法正常启动,打开电脑主机电源后机箱报警喇叭出现长时间的短声鸣叫,或是打开主机电源后电脑可以启动但无法正常进入操作系统,屏幕出现"Error:Unable to ControlA20 Line"的错误信息后并死机。支招:出现上面故障多数是由于内存于主板的插槽接触不良引起。处理方法是打开机箱后拔出内存,用酒精和干净的纸巾对擦试内存的金手指和内存插槽,并检查内存插槽是否有损坏的迹象,擦试检查结束后将内存重新插入,一般情况下问题都可以解决,如果还是无法开机则将内存拔出插入另外一条内存插槽中测试,如果此时问题仍存在,则说明内存已经损坏,此时只能更换新的内存条。 5、开机后显示如下信息:"ON BOARD PARLTY ERROR"。 支招:出面这类现象可能的原因有三种,第一,CMOS中奇偶较验被设为

QUARTUS2编译错误解决方法

Error(10257):Verilog HDL error at dp4inNpa.v(13):unsized constants are not allowed in concatenations 解决方法:拼接语句a_fout={0,exp_a_out,temp_a_out,12'd0};其中0应标注位宽,编辑器不会默认为1位,应为a_fout= {1'b0,exp_a_out,temp_a_out,12'd0}; Error(10053):Verilog HDL error at dp4inNpa.v(12):can't index object"a" with zero packed or unpacked array dimensions 解决方法:错:input a;对:input[12:0]a; Error:Net"acc[12]",which fans out to"accumulate:inst4|acc[12]", cannot be assigned more than one value Error:Net is fed by"time_get_sub:inst3|acc[12]" Error:Net is fed by"sample_en:inst6|acc_out[12]" 解决方法:输入的某些引脚同时给了两个值,大概不是重复定义管脚就是重复赋值了。 Error:Top-level design entity"delta_t"is undefined 解决方法:将.v文件名和module的名称改为一致 Error:Inconsistent dimensions for element"tR" 解决方法:"tR"在传递过程中可能丢失了"[12..0]"

解决XXXX指令引用的XXXX内存,该内存不能为read 的方法

解决"XXXX指令引用的XXXX内存,该内存不能为read" 的方法 出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 一:先说说硬件: 一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。 二、如果都没有,那就从软件方面排除故障了。 先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要操作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的操作系统中,如Windows等,这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。 首先建议: 1、检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。 2、更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。 3、尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。 4、删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击我的电脑,然后单击管理。在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。)打开"服务和应用程序",单击服

[VIP专享]C语言常见错误

对于刚学编程,刚接触C++的新手来说,编译运行报错是最头疼的一件事,爆出一堆英文,英语差一点的又不知道什么意思,所以也不知道如何去改,在此,我给大家传一份常见错误中英文对照表及简单解释,希望可以帮到大家: fatal error C1003: error count exceeds number; stopping compilation 中文对照:(编译错误)错误太多,停止编译 分析:修改之前的错误,再次编译 fatal error C1004: unexpected end of file found 中文对照:(编译错误)文件未结束 分析:一个函数或者一个结构定义缺少“}”、或者在一个函数调用或表达式中括号没有配对出现、或者注释符“/*…*/”不完整等 fatal error C1083: Cannot open include file: 'xxx': No such file or directory 中文对照:(编译错误)无法打开头文件xxx:没有这个文件或路径 分析:头文件不存在、或者头文件拼写错误、或者文件为只读 fatal error C1903: unable to recover from previous error(s); stopping compilation 中文对照:(编译错误)无法从之前的错误中恢复,停止编译 分析:引起错误的原因很多,建议先修改之前的错误 error C2001: newline in constant 中文对照:(编译错误)常量中创建新行 分析:字符串常量多行书写 error C2006: #include expected a filename, found 'identifier' 中文对照:(编译错误)#include命令中需要文件名 分析:一般是头文件未用一对双引号或尖括号括起来,例如“#include stdio.h” error C2007: #define syntax 中文对照:(编译错误)#define语法错误 分析:例如“#define”后缺少宏名,例如“#define” error C2008: 'xxx' : unexpected in macro definition 中文对照:(编译错误)宏定义时出现了意外的xxx 分析:宏定义时宏名与替换串之间应有空格,例如“#define TRUE"1"” error C2009: reuse of macro formal 'identifier' 中文对照:(编译错误)带参宏的形式参数重复使用 分析:宏定义如有参数不能重名,例如“#define s(a,a) (a*a)”中参数a重复 error C2010: 'character' : unexpected in macro formal parameter list 中文对照:(编译错误)带参宏的形式参数表中出现未知字符 分析:例如“#define s(r|) r*r”中参数多了一个字符‘|’

编译时的常见错误

一、编译时的常见错误 1. 数据类型错误。此类错误是初学者编程时的常见现象, 下面是一些要引起注意的错误: (1) 所有变量和常量必须要加以说明。 (2) 变量只能赋给相同类型的数据。 (3) 对scanf()语句, 用户可能输入错误类型的数据项, 这将导致运行时出错, 并报出错信息。为避免这样的错误出现, 你就提示用户输入正确类型的数据。 (4) 在执行算术运算时要注意: a. 根据语法规则书写双精度数字。要写0.5, 而不是写.5; 要写1.0, 而不是1。尽管C语言会自动地把整型转换成双精度型, 但书写双精度型是个好习惯。让C语言为你做强行转换这是一种效率不高的程序设计风格。这有可能导致转换产生错误。 b. 不要用0除。这是一个灾难性的错误, 它会导致程序失败, 不管C 语言的什么版本, 都是如此, 执行除法运算要特别小心。 c. 确保所有的双精度数(包括那些程序输入用的双精度数) 是在实数范围之内。 d. 所有整数必须在整数允许的范围内。这适用于所有计算结果, 包括中间结果。 2. 将函数后面的";"忘掉。此时错误提示色棒将停在该语句下的一行, 并显示: Statement missing ; in function <函数名> 3. 给宏指令如#include, #define等语句尾加了";"号。 4. "{"和"}"、"("和")"、"/*"和"*/"不匹配。引时色棒将位于错误所在的行, 并提示出有关丢掉括号的信息。 5. 没有用#include指令说明头文件, 错误信息提示有关该函数所使用的参数未定义。 6. 使用了Turbo C保留关键字作为标识符, 此时将提示定义了太多数据类型。 7. 将定义变量语句放在了执行语句后面。此时会提示语法错误。 8. 使用了未定义的变量, 此时屏幕显示: Undefined symbol '<变量名>' in function <函数名> 9. 警告错误太多。忽略这些警告错误并不影响程序的执行和结果。编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器, 这时应改变集成开发环境Options/Compiler/Errors中的有关警告错误检查开关为off。 10. 将关系符"=="误用作赋值号"="。此时屏幕显示: Lvalue required in function <函数名> 二、连接时的常见错误 1. 将Turbo C库函数名写错。这种情况下在连接时将会认为此函数是用户自定义函数。此时屏幕显示: Undefined symbol '<函数名>' in <程序名> 2. 多个文件连接时, 没有在"Project/Project name中指定项目文件(.PRJ文件), 此时出现找不到函数的错误。 3. 子函数在说明和定义时类型不一致。 4. 程序调用的子函数没有定义。 三、运行时的常见错误 1. 路径名错误。在MS-DOS中, 斜杠(\)表示一个目录名; 而在Turbo C 中斜杠是个某个字符串的一个转义字符, 这样, 在用Turbo C 字符串给出一个路径名时应考虑"\"的转义的作用。例如, 有这样一条语句: file=fopen("c:\new\tbc.dat", "rb"); 目的是打开C盘中NEW目录中的TBC.DAT文件, 但做不到。这里"\"后面紧接的分别是"n"及"t", "\n"及"\t"将被分别编译为换行及tab字符, DOS将认为它是不正确的文件名而拒绝接受, 因为文件名中不能和换行或tab字符。正确的写法应为: file=fopen("c:\\new\\tbc.dat", "rb"); 2. 格式化输入输出时, 规定的类型与变量本身的类型不一致。例如: float l;

电脑0x_指令引用的0x内存错误修复

您好!出现:0x???????? 指令引用的0x????????内存。该内存不能为"read"或"written"。答案【shijan8原创】★严禁复制★ 【1】出现该问题原因很多,首先一定要清楚是在什么时候出现该问题,把下面写的看完,对照您电脑出现的问题进行正确的解决。 【2】盗版系统或Ghost版本系统,系统文件错误或丢失,也会出现该问题,及时安装官方发行的补丁,{检查电脑年、月、日是否正确}。建议:最好安装【正版】系统或【完整版】系统。 【3】检查驱动是否出现问题,重新安装驱动或及时更新驱动。 【4】病毒引起的:升级杀毒软件或下载专杀工具,清理恶意插件,对电脑全盘杀毒。 【5】硬件引起的: (1)可能是内存条出现的小问题,关机断电,把内存条拆下清理干净重新安装。必要时更换内存条。(硬件上一般不会出现该问题) 【6】软件引起的: (1)安装的软件与系统或其它软件发生冲突,盗版或带病毒的软件,请慎重下载软件,最好使用正版。【这里主要说的是检查开机启动项,把没必要启动的启动项禁止开机启动】 (2)如果你的电脑中安装了两款或两款以上的同类软件,比如:两款杀毒软件、两款优化系统软件等,请卸载一款,以免发生冲突,以保持电脑稳定性。 (3)有些系统补丁下载安装了错误补丁,可能与您当前的系统或其它软件发生冲突,也会出现该问题。卸载该补丁,找到适合您电脑补丁,重新下载重新安装。(4)当下载安装或打开运行播放器、游戏、QQ等第三方软件,出现该问题时。可能是您下载的软件存在着危险,系统本身为了保护系统不受影响,也会出现该内存不能为“read”或“wrtten”。一般的解决办法就是卸载该软件重新安装。如果不能解决,需要更换同类型其它版本的软件,或找到发生冲突的软件卸载它,问题才能解决。 【注意】:如果以确定电脑没有病毒,检查清理电脑是否存在恶意插件,把它清理掉。如果您使用windows IE浏览器出现该问题,尤其是打了错误补丁,最近windows IE变得不太稳定。用360安全卫士、安装的急救箱或其它软件进行系统修复,如果没有效果,升级或降低IE版本试试。如果还是不行,最简单的解决办法就是:下载更换其它浏览器。【不用删除windows IE,直接使用其它浏览器即可。】比如:360安全浏览器、世界之窗浏览器、傲游等。 如果上面说的检查都没问题,可以试试下面的方法:看看能不能解决。 ◆开始→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。 完成后,在输入下面的 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。 如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。 ●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellExecuteHooks 下,应该只有一个正常的键值

相关主题
文本预览
相关文档 最新文档