当前位置:首页 » 编程软件 » 电脑编译代码cpu不能完全被使用

电脑编译代码cpu不能完全被使用

发布时间: 2022-06-17 08:17:26

1. 用gcc 4.7.1的源代码编译出来arm-eabi-gcc。编译的时候指定了cpu类型,但是编译出来的程序,不能运行。

去掉 -march=arm6试下吧。

2. 电脑cpu使用问题任务管理器问题

占了100%的话我们的电脑总会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。

当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较搞的比例,如果是某个大程序那还可以原谅,在关闭该程序后只要CPU正常了那就没问题;如果不是,那你就要看看是什幺程序了,当你查不出这个进程是什幺的时候就去google或者 搜。有时只结束是没用的,在 xp下我们可以结合msconfig里的启动项,把一些不用的项给关掉。在2000下可以去下个winpatrol来用。

一些常用的软件,比如浏览器占用了很搞的CPU,那幺就要升级该软件或者干脆用别的同类软件代替,有时软件和系统会有点不兼容,当然我们可以试下xp系统下给我们的那个兼容项,右键点该.exe文件选兼容性。

svchost.exe有时是比较头痛的,当你看到你的某个svchost.exe占用很大CPU时你可以去下个aports或者fport来检查其对应的程序路径,也就是什幺东西在掉用这个svchost.exe,如果不是c:\Windows\ system32 (xp)或c:\winnt\system32(2000)下的,那就可疑。升级杀毒软件杀毒吧。

右击文件导致100%的CPU占用我们也会遇到,有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中,再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果,取消”为菜单和工具提示使用下列过度效果(U)“来解决。还有某些杀毒软件对文件的监控也会有所影响,可以关闭杀毒软件的文件监控;还有就是对网页,插件,邮件的监控也是同样的道理。

一些驱动程序有时也可能出现这样的现象,最好是选择微软认证的或者是官方发布的驱动来装,有时可以适当的升级驱动,不过记得最新的不是最好的。

CPU降温软件,由于软件在运行时会利用所以的CPU空闲时间来进行降温,但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别,因此CPU始终显示100%,这个就不必担心了,不影响正常的系统运行。

在处理较大的 word文件时由于word的拼写和语法检查会使得CPU累,只要打开word的工具-选项-拼写和语法把”检查拼写和检查语法“勾去掉。

单击 avi视频文件后CPU占用率高是因为系统要先扫描该文件,并检查文件所有部分,并建立索引;解决办法:右击保存视频文件的文件夹-属性-常规-高级,去掉为了快速搜索,允许索引服务编制该文件夹的索引的勾。

CPU占用100% 案例分析
1、 dllhost进程造成CPU使用率占用100%

特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。

直接原因:

有一个或多个ACCESS数据库在多次读写过程中损坏,微软的 MDAC 系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。

解决办法:

安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,

启用”查找死锁模块”,设置:

--wblock=yes
监控的目录,请指定您的主机的文件所在目录:
--wblockdir=d:\test

监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm

停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。

过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT. MDB ”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。

找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了。

2、 svchost.exe造成CPU使用率占用100%

在win.ini文件中,在[Windows]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什幺都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。

在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那幺后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer 键值改为Explorer=“C:\Windows\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马该病毒也称为“Code Red II(红色代码2)”病毒,与早先在西方英文系统下流行“红色代码”病毒有点相反,在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞,通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过Http Get的请求运行scripts/root.exe来获得对受感染机器的完全控制权。

当感染一台服务器成功了以后,如果受感染的机器是中文的系统后,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年,如果是,受感染的服务器也会重新启动。当Windows NT系统启动时,NT系统会自动搜索C盘根目录下的文件explorer.exe,受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时,VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录,给黑客的入侵敞开了大门。它还会修改系统的注册表项目,通过该注册表项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。值得一提的是,该网络蠕虫程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在内存中来进行感染、传播的,这就给捕捉带来了较大难度。

”程序的文件名,再在整个注册表中搜索即可。

我们先看看微软是怎样描述svchost.exe的。在微软知识库314056中对svchost.exe有如下描述:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。

其实svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个svchost.exe不用那幺担心。

svchost.exe到底是做什幺用的呢?

首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多,为了节约有限的系统资源微软把很多的系统服务做成了共享模式。那svchost.exe在这中间是担任怎样一个角色呢?

svchost.exe的工作就是作为这些服务的宿主,即由svchost.exe来启动这些服务。svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不能为用户提供任何服务。svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。

svchost.exe是病毒这种说法是任何产生的呢?

因为svchost.exe可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思的要利用svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。

如何才能辨别哪些是正常的svchost.exe进程,而哪些是病毒进程呢?

svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,如图1所示。图1中每个键值表示一个独立的svchost.exe组。

微软还为我们提供了一种察看系统正在运行在svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染,svchost.exe的服务出现异常的话通过搜索 svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:\Windows\System32”目录下的svchost.exe程序。如果你在其它目录下发现svchost.exe程序的话,那很可能就是中毒了。

还有一种确认svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。

上面简单的介绍了svchost.exe进程的相关情况。总而言之,svchost.exe是一个系统的核心进程,并不是病毒进程。但由于svchost.exe进程的特殊性,所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。

3、 Services.exe造成CPU使用率占用100%

症状

在基于 Windows 2000 的计算机上,Services.exe 中的 CPU 使用率可能间歇性地达到100 %,并且计算机可能停止响应(挂起)。出现此问题时,连接到该计算机(如果它是文件服务器或域控制器)的用户会被断开连接。您可能还需要重新启动计算机。如果 Esent.dll 错误地处理将文件刷新到磁盘的方式,则会出现此症状。

解决方案

Service Pack 信息

要解决此问题,请获取最新的 Microsoft Windows 2000 Service Pack。有关其它信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

260910 如何获取最新的 Windows 2000 Service Pack

修复程序信息

Microsoft 提供了受支持的修补程序,但该程序只是为了解决本文所介绍的问题。只有计算机遇到本文提到的特定问题时才可应用此修补程序。此修补程序可能还会接受其它一些测试。因此,如果这个问题没有对您造成严重的影响,Microsoft 建议您等待包含此修补程序的下一个 Windows 2000 Service Pack。

要立即解决此问题,请与“Microsoft 产品支持服务”联系,以获取此修补程序。有关“Microsoft 产品支持服务”电话号码和支持费用信息的完整列表,请访问 Microsoft Web 站点:

注意 :特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新程序能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新程序无法解决的其它支持问题和事项,将正常收取支持费用。

下表列出了此修补程序的全球版本的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中的“日期和时间”工具中的 时区 选项卡。

状态

Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。此问题最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。

4、正常软件造成CPU使用率占用100%

首先,如果是从开机后就发生上述情况直到关机。那幺就有可能是由某个随系统同时登陆的软件造成的。可以通过运行输入“msconfig”打开“系统实用配置工具”,进入“启动”选项卡。接着,依次取消可疑选项前面的对钩,然后重新启动电脑。反复测试直到找到造成故障的软件。或者可以通过一些优化软件如“优化大师”达到上述目的。另:如果键盘内按键卡住也可能造成开机就出现上述问题。

如果是使用电脑途中出项这类问题,可以调出任务管理器(WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT“ESC),进入”进程“选项卡,看”CPU“栏,从里面找到占用资源较高的程序(其中SYSTEM IDLE PROCESS是属于正常,它的值一般都很高,它的作用是告诉当前你可用的CPU资源是多少,所以它的值越高越好)通过搜索功能找到这个进程属于哪个软件。然后,可以通过升级、关闭、卸载这个软件或者干脆找个同类软件替换,问题即可得到解决。

5、病毒、木马、间谍软件造成CPU使用率占用100%

出现CPU占用率100% 的故障经常是因为病毒木马造成的,比如震荡波病毒。应该首先更新病毒库,对电脑进行全机扫描 。接着,在使用反间谍软件Ad—Aware,检查是否存在间谍软件。论坛上有不少朋友都遇到过svchost.exe占用CPU100%,这个往往是中毒的表现。

svchost.exe Windows中的系统服务是以动态链接库(DLL)的形式实现的,其中一些会把可执行程序指向svchost.exe,由它调用相应服务的动态链接库并加上相应参数来启动服务。正是因为它的特殊性和重要性,使它更容易成为了一些病毒木马的宿主。

6、 explorer.exe进程造成CPU使用率占用100%

在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那幺后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的

Explorer 键值改为Explorer=“C:\Windows\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。

7、超线程导致CPU使用率占用100%

这类故障的共同原因就是都使用了具有超线程功能的P4 CPU。我查找了一些资料都没有明确的原因解释。据一些网友总结超线程似乎和天网防火墙有冲突,可以通过卸载天网并安装其它防火墙解决,也可以通过在BIOS中关闭超线程功能解决。

8、AVI视频文件造成CPU使用率占用100%

在Windows XP中,单击一个较大的AVI视频文件后,可能会出现系统假死现象,并且造成exploere.exe进程的使用率100%,这是因为系统要先扫描该文件,并检查文件所有部分,建立索引。如果文件较大就会需要较长时间并造成CPU占用率100%。解决方法:右键单击保存视频文件的文件夹,选择”属性—>常规—>高级“,去掉”为了快速搜索,允许索引服务编制该文件夹的索引“前面复选框的对钩即可。

9、杀毒软件CPU使用率占用100%

现在的杀毒软件一般都加入了,对网页、邮件、个人隐私的即时监空功能,这样无疑会加大系统的负担。比如:在玩游戏的时候,会非常缓慢。关闭该杀毒软件是解决得最直接办法。

10、处理较大的Word文件时CPU使用率过高

上述问题一般还会造成电脑假死,这些都是因为WORD的拼写和语法检查造成的,只要打开WORD的“工具—选项”,进入“拼写和语法”选项卡,将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。

11、网络连接导致CPU使用率占用100%

当你的Windows2000/xp作为服务器时,收到来自端口445上的连接请求后,系统将分配内存和少量CPU资源来为这些连接提供服务,当负荷过重,就会出现上述情况。要解决这个问题可以通过修改注册表来解决,打开注册表,找到HKEY—LOCAL—MACHNE\SYSTEM\CurrentControlSet\Services\lanmanserver,在右面新建一个名为";maxworkitems";的DWORD值.然后双击该值,如果你的电脑有512以上内存,就设置为";1024";,如果小于512,就设置为256.

一些不完善的驱动程序也可以造成CPU使用率过高

经常使用待机功能,也会造成系统自动关闭硬盘DMA模式。这不仅会使系统性能大幅度下降,系统启动速度变慢,也会使是系统在运行一些大型软件和游戏时CPU使用率100%,产生停顿。

3. VISUAL C++2008在不断编译的时候,CPU占据50%以上一直不下怎么解决

是卡巴的错,我用2008、2010或者gcc都是50%以上,瞬间还会到100%,所以我用编译的时候不是停卡巴的主动防御就是直接全部关掉。不知道现在卡巴能不能加白名单了呢,你可以去设置里找找。

4. cpu指令集的问题

你说的x86和x64或者ia64是CPU架构,也就是编译程序的标准,而MMX、SSE这些是指令集。指令集并非会限制某些程序的运行,而会影响程序运行的速度。

通俗的说,指令集是优化某些程序中的可执行代码的执行效率,就是说,某些程序在运行在支持某个指令集的CPU上会有很高的性能。比如说,SSE指令集就是为了多媒体程序的性能而设计的,使用了SSE指令集编写的程序,当他运行在支持这个指令集的CPU上时,性能会有极大提升,而运行在不支持SSE指令集的CPU上,虽然CPU的速度和指标可能一致,但是会有极大地下降。

指令集是一种知识产权,所以amd和intel的不一样,如果AMD想支持intel的指令集,是需要为intel付费的,所以amd会另外开发一套指令集,以白皮书的形式发放给程序员,让程序员编制出适合amd cpu使用的程序。

往往一个程序不只可以兼容一套指令集,假如编译时选择兼容多种指令集,程序的体积会大一些,但是这并不会造成太大的问题。

而X86是CPU的架构,也就是在只支持X86架构的计算机上,为X64编写的任何程序是不能运行的,这个不是指令集。

综上,指令集并不能限制程序是否能够在该计算机上运行,而是制约了程序运行的速度。

5. C语言大师请给我写一个c程序用来测试我机器CPU满负荷工作

这个一般不能做到。

  • 一般的C语言编译器会限制程序的资源使用量(如CPU不超过40%),超过设定时,编译出来的程序会提示“未响应”而停止工作,不会造成电脑满负荷工作的情况。

  • 实现满负荷工作可以用一些拷机软件,比如SuperPI,来测试处理器的性能。

  • 但对于时间的记录,可以运用<time.h>的函数来实现,用法如下:

time_tstart,end;
start=time(NULL);//ortime(&start);
//计时中
end=time(NULL);
printf("time=%d ",difftime(end,start));
  • 这里的输出单位为秒。如要精确到毫秒的计时,可以调用clock():

clock_tstart,end;
start=clock();
//计时中
end=clock();
printf("time=%f ",(double)end-start)/CLK_TCK);

这里end和start得到的是计算机时钟的tick数,换算成毫秒需要除以常数CLK_TCK,换算成秒除以常数CLK_TCKCLOCKS_PER_SEC。

6. 为什么有的编译器(如C编译器)不能直接操作CPU寄存器

因为有的语言就没打算让程序员直接操作CPU寄存器。
不是编译器的问题,是语言问题。

7. keill 编译时出现C51.EXE运行占大量cpu ,出现卡机,甚至死机,一直编译不出来。

这个问题,我之前做一个液晶项目,写了一个程序就是你这种故障,结果是代码问题,有些ASCLL码写进去后编译器卡死,CPU运行100%,只好强制关闭,结果查了半天是中期一行代码去掉就OK拉,我不知道你的编译现象,你可以编译其他程序看看,会不会也会卡死,如果是的话那就是编译器问题,如果不是的话,是你程序问题。

8. 由C语言开发的程序编译后得到可执行代码是CPU可直接执行的机器指令构成的么

不是。不能。

你见过同一个exe文件(或者其他种类的可执行文件)能在多少个操作系统平台多少架构的cpu上运行?反正我所见过的可执行文件都只能在某一类特定平台上运行。

可执行文件的格式并不只有一种,例如Windows下的 .exe 文件通常称为 PE 文件,Linux 的可执行的二进制文件通常是 ELF 文件。它们都附加有特定的信息,而不是完全由机器指令构成的

C语言的跨平台主要是说C代码可以编译成任意一种格式,采用任意一种指令集,而程序的行为不变。至于让同一个可执行文件可以在不同平台上都能不加改动地运行,那是虚拟机的任务,而不是语言所能做到的

9. 电脑使用maya 为什么cpu老是不能完全使用

不好意思,网上搜的,这个软件不熟悉。具体看下面链接
http://bbs.hxsd.com/archive/index.php?t-9997673.html

10. 用keil uVision2 编译程序时,cpu占用率特别高,能达到40%,这是什么原因还请高手请教!

你这个跟你装的系统没关系,你要清楚,单片机和电脑所运行的程序叫做机器语言,是一个很复杂,也很难理解的一种语言,目前最接近机器语言的就是汇编语言,你看汇编语言的繁杂就可以想象机器语言了。所谓的编译就是把我们所写得高级语言编译成机器能够识别的机器语言。往往在高级语言里面简单的一条语句,编译为低级语言时会有很多句,会超出你的想象,所以编译的时候CPU的占用就很高了。

热点内容
诺基亚密码忘了打什么电话 发布:2024-09-17 03:27:09 浏览:555
树深度优先算法 发布:2024-09-17 03:26:58 浏览:472
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:784
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662