1.系统错误是怎么回事

2.为什么用VC++时,生成失败?

电脑系统变量创建失败,系统变量无法更改

你的问题我今天遇到啦。还真的只是不能玩长沙麻将!

原来我中啦机器狗。把盘全格啦。想想没问题啦吧。

汗。装上QQ.长沙麻将。还是出现这样的现像。

我从以下说我的猜 。

1、电脑真的是有点小问题,我的是台式机。好几年啦 。

2、就是电脑上的驱动问题,建意装本身所带的驱动。

3、QQ版本。尽量先使用腾讯的版本。

4、在编程中,变量以NULL结尾,表示其后没有可用的数据,数据读取在此结束。

产生 null 的原因是:

在程序设计中是一个存在的变量的值

但是你应该问是在什么情况下用的或在什么地方用,

意义都不一样,表现出来也不一样。

对一个变量显式地赋值为 null。

包含 null 的表达式之间的任何操作。

Null在数据库中表示 不知道(Unknown) 的数据,主要有3种意思:

1)知道数据存在,但不知道具体值

2)不知道数据是否存在

3)数据不存在

我只想到这些。如果你的解决啦告诉我一声!

系统错误是怎么回事

在 Windows 10 中卸载软件通常可以通过以下步骤完成:

打开“控制面板”,可以通过在Windows搜索框中输入“控制面板”来打开。

选择“程序”或“程序和功能”选项。

在程序列表中找到需要卸载的软件,然后单击它。

单击“卸载”按钮,然后按照提示进行操作。

如果您发现在这些步骤中不能成功卸载海峰五笔,您可以尝试使用以下方法:

以管理员身份运行“控制面板”,有时管理员权限可以解决无法卸载软件的问题。

在Windows 10中,一些程序可能不会显示在控制面板中,您可以尝试使用Windows Powershell或命令提示符卸载程序。使用以下步骤:

a. 搜索“Windows Powershell”或“命令提示符”并以管理员身份运行。

b. 在命令提示符或Windows Powershell中输入“wmic”并按下Enter键。

c. 输入“product get name”并按下Enter键,它将显示您计算机上所有已安装的程序的列表。

d. 在列表中找到并复制海峰五笔的名称。

e. 输入“product where name='ProgramName' call uninstall”(请用海峰五笔的实际名称替换“ProgramName”),并按下Enter键。

f. 程序将开始卸载,按照提示操作即可。

望采纳,若还不能解决,请在联系。

为什么用VC++时,生成失败?

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。以上的情况相信大家都应该见到过,甚至说一些用户因为不希望经常出现这个错误提示而屡次重装系统。产生这个现象的原因,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。

运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。

“0x”指令引用的“0x”内存。该内存不能为“read”。

“0x”指令引用的“0x”内存,该内存不能为“written”。

以上的情况相信大家都应该见到过,甚至说一些用户因为不希望见到这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。

出现这个现象的原因,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。

一 先说说硬件:

一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大,主要方面是: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文件夹中的文件:在桌面上右击我的电脑,然后单击管理。在"服务和应用程序"下,单击服务,然后关闭并停止WindowsManagementInstrumentation服务。删除 Winnt\System32\Wbem\Repository文件夹中的所有文件。(在删除前请创建这些文件的备份副本。)打开"服务和应用程序",单击服务,然后打开并启动WindowsManagementInstrumentation 服务。当服务重新启动时,将基于以册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\AutorecoverMOFs

下面列举几个例子来进行分析:

例一:IE浏览器出现“08ba9ef”指令引用的“0x037134” 内存,或者“0x70dcf39f”指令引用的“0x00000000”内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定” 后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。解决方法:

1、开始-运行窗口,输入“regsvr32 actxprxy.dll”回车,接着会出现一个信息对话框“DllRegisterServerin actxprxy.dll succeeded”,确定。再依次运行以下命令。regsvr32shdocvw.dll

regsvr32oleaut32.dll

regsvr32actxprxy.dll

regsvr32mshtml.dll

regsvr32msjava.dll

regsvr32browseui.dll

regsvr32urlmon.dll

2、修复或升级IE浏览器,同时打上系统补丁。看过其中一个修复方法是,把系统还原到系统初始的状态下。建议将IE升级到了6.0。

例二:有些应用程序错误:“0x7cd998”指令参考的“0x14c96730”内存。该内存不能为“read”。解决方法:Window XP的“预读取”技术这种最佳化技术也被用到了应用程序上,系统对每一个应用程序的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟“内存映像”,并把这些信息储存到Windows\Prefetc件夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近几次系统启动或应用软件启动的信息。建议将虚拟内存撤换,删除Windows\Prefetch目录下所有*.PF文件,让windows重新收集程序的物理地址。

例三:在WindowsXP下双击光盘里面的“AutoRun.exe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为 “written”,要终止程序,请单击“确定”,而在Windows98里运行却正常。解决方法:这可能是系统的兼容性问题,windowsXP的系统,右键“AutoRun.exe”文件-属性-兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows98/Me”。windows2000如果打了SP的补丁后,只要点击“开始”-“运行”,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。点击右键菜单中的“属性”,也会出现兼容性的选项。

例四:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭 RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。

例五:豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“ read”,终止程序请按确定。解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换用别的播放器试试了。

例六:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内存,该内存不能为“read” ,并且提示Client.dat程序错误。解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX9.0。

例七:一个朋友从发QQ信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written” ,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。解决方法:这是对方利用QQ的BUG,发送特殊的代码,令QQ出错,只要打上补丁或升级到最新版本,就没事了。

该代码可以根据一个排除如下推论:

以下是可能产生LNK2001错误的原因:

一。由于编码错误导致LNK2001。

1。该代码不匹配的程序或模块定义(。DEF)文件能导致LNK2001。例如,

在C + +源文件中声明了一个变量“VAR1”,而是试图

“VAR1”访问该变量在另一个文件中的变量,会发生错误。

2。如果您使用的是内联函数中定义的文件。 CPP,而不是在头文件中默认

大义LNK2001错误。

3。类型不匹配时被调用的函数的参数类型的函数声明

会产生LNK2001。

4。试图从基类的构造函数或析构函数中调用虚函数会导致LNK2001。

5。注意函数和变量的效用,只有全局变量,函数是可以在公共场合。

静态函数和静态变量具有相同的使用限制。当试图访问外部文件

没有在文件中声明的静态变量会导致一个编译错误LNK2001。

函数声明的变量(局部变量)只能被使用的功能的范围内。

C + +的全局常量只有静态连接。这不同于C,如果您尝试使用全局变量在C + +

多个文件,将会产生LNK2001错误。一种解决方法是在

头文件中需要加入一定的初始化代码。 CPP文件中包含的头文件;另一个

方法是使用变量赋值一个常数。

二。引起设置的编译和链接LNK2001

1。如果编译时使用/ NOD(/ NODEFAULTLIB)选项,运行

由编译器连接的程序库和MFC库写入到目标文件模块,但除非明确地包含在文件中

库名,否则这些库不会被链接到项目文件中。在这种情况下,使用/ NOD将引导

引起的错误LNK2001。

2。如果没有入口wWinMainCRTStartup安装过程中,使用Unicode和MFC

“无法解析的外部_WinMain @ 16”错误LNK2001信息的。

3。使用/ MD选项编译,因为所有的运行时将被保留在动态链接库中的,

源文件“功能”参考引用该的“__imp__func”目标文件的。

如果您尝试连接到使用静态库LIBC.LIB或LIBCMT.LIB在__ imp__func的头发

生LNK2001;如果你不使用/ MD选项编译,在使用MSVCxx.LIB连接将发生LNK2001 。

4。 / ML的选项编译LIBCMT.LIB链接的_errno的发生LNK2001。

5。当编译调试版本的应用程序,如果你连接使用国家图书馆发布Banmo酒店也产生

生LNK2001;同样,使用调试Banmo酒店国家图书馆也将有相同的连接发布的应用程序

问题。

6。不同版本的库和编译器的混合使用会带来一些问题,因为新版本的库可以

更早的版本不包含符号和说明。

7。在不同的模块中使用内联和非内联的编译选项可能会导致LNK2001。

创建一个C + +库中的open函数内联(/ Ob1进行,或/ Ob2),但描述的功能,相应的头

文件实际上是关闭了函数内联(没有inline关键字),当你将得到的错误信息。

为了避免问题的?发生,应该在适当的头文件内联函数inline关键字标志。

8。不正确的/ SUBSYSTEM或/ ENTRY设置可能会导致LNK2001。

创建一个MFC项目,不使用MFC AppWizard向导,如果你没有设置好项目的参数,会产生很多连接错误,在编译时的错误LNK2001错误,典型的错误:

libcmtd的。 LIB(crt0.obj):错误LNK2001:无法解析的外部符号_main

LIBCD.lib(wincrt0.obj)的错误LNK2001:无法解析的外部符号_WinMain @ 16

MSVCRTD.LIB(crtexew.obj):错误LNK2001:无法解析的外部符号_WinMain @ 16

NAFXCWD.LIB(thrdcore.obj):错误LNK2001:无法解析的外部符号__ beginthreadex

NAFXCWD.LIB(thrdcore.obj),:错误LNK2001:无法解析的外部符号__ endthreadex

这里解决:

1 Windows子系统设置错误,提示:

libcmtd.lib(crt0.obj):错误LNK2001:无法解析的外部符号_main

Windows项目中使用Windows子系统,而不是控制台可以设置:

[工程] - > [设置] - >选择“链接”属性页,

项目选项中将/ /子系统子系统:改变的窗口 console控制台子系统设置错误,提示:

LIBCD.lib(wincrt0.obj)的错误LNK2001:无法解析的外部符号_WinMain _at_ 16

控制台项目的控制台子系统,而不是Windows,设置: BR /> [工程] - > [设置] - >选择“链接”属性页,

在Project Options中将/ SUBSYSTEM:WINDOWS更改/子系统?:控制台

3程序入口设置错误,提示:

MSVCRTD.LIB的(crtexew.obj):错误LNK2001:无法解析的外部符号_WinMain _at_ 16

通常,MFC项目的程序入口函数WinMain中,Unicode版本的编译器项目,程序入口必须改为wWinMainCRTStartup,所以需要重新设置程序入口:

[工程] - > [设置] - >选择“C / C + +”属性页,

在“类别中选择”输出“ BR />,然后填写在入口点符号wWinMainCRTStartup

线程运行时库设置不正确,提示:

NAFXCWD.LIB(thrdcore.obj):错误LNK2001:无法解析的外部符号__ beginthreadex /> NAFXCWD.LIB(thrdcore.obj):错误LNK2001:无法解析的外部符号__ endthreadex

这是因为MFC的多线程库,您需要更改设置:

[工程] - > [设置] - >选择“C / C + +属性页,

选择的类别代码生成,

然后选择”使用运行时库的调试多线程或者多线程

单螺纹(发布版)

多线程的多线程静态链接库(发布版)

多线程多线程的DLL动态链接库(发布版)

调试单线程单线程的单线程静态链接库静态链接库(调试版本)

调试多线程多线程静态链接库(调试多线程动态链接库(调试版本)

单线程的版本)

调试多线程DLL:不需要多线程调用多的

多线程的DOS环境:同时可以运行

静态库库直接可以运行的程序链接的MFC库

动态库:需要相应的DLL动态库,该程序可以运行

版本:使用

调试版本正式发布:使用调试阶段