需要能使CPU 100%运行的程序
我需要一个程序,这将使我的CPU运行在100% 最好是在C语言中,一个小程序,可以使CPU以100%的速度运行,还有一个程序没有被编译器“优化”,所以它什么也不做 建议?这个怎么样:需要能使CPU 100%运行的程序,c,cpu-usage,C,Cpu Usage,我需要一个程序,这将使我的CPU运行在100% 最好是在C语言中,一个小程序,可以使CPU以100%的速度运行,还有一个程序没有被编译器“优化”,所以它什么也不做 建议?这个怎么样: int main() { for (;;); } 将其复制并粘贴到名为source.c的文件中: int main(int argc, char *argv) { while(1); } 编译source.c:gcc source.c-o myprogram 运行它:/myprogram这是一个很好的老
int main() { for (;;); }
将其复制并粘贴到名为
source.c
的文件中:
int main(int argc, char *argv) {
while(1);
}
编译source.c
:gcc source.c-o myprogram
运行它:
/myprogram
这是一个很好的老式叉形炸弹
#include <unistd.h>
int main(void)
{
while(1)
fork();
return 0;
}
#包括
内部主(空)
{
而(1)
fork();
返回0;
}
或者,如果您有一个多核处理器--未经测试。。。就像上面提到的:)
建议使用空环路的答案只能使双核CPU达到50%,四核CPU达到25%,等等 因此,如果这是一个问题,我们可以使用
void main(void)
{
omp_set_dynamic(0);
// In most implemetations omp_get_num_procs() return #cores
omp_set_num_threads(omp_get_num_procs());
#pragma omp parallel for
for(;;) {}
}
多线程系统的本机Windows解决方案。在VisualC++(或VisualStudio)上编译而不使用任何库。
/* Use 100% CPU on multithreaded Windows systems */
#include <Windows.h>
#include <stdio.h>
#define NUM_THREADS 4
DWORD WINAPI mythread(__in LPVOID lpParameter)
{
printf("Thread inside %d \n", GetCurrentThreadId());
volatile unsigned x = 0, y = 1;
while (x++ || y++);
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE handles[NUM_THREADS];
DWORD mythreadid[NUM_THREADS];
int i;
for (i = 0; i < NUM_THREADS; i++)
{
handles[i] = CreateThread(0, 0, mythread, 0, 0, &mythreadid[i]);
printf("Thread after %d \n", mythreadid[i]);
}
getchar();
return 0;
}
/*在多线程Windows系统上使用100%的CPU*/
#包括
#包括
#定义NUM_线程4
DWORD WINAPI mythread(\uu在LPVOID lpParameter中)
{
printf(“线程在%d\n内”,GetCurrentThreadId());
易失性无符号x=0,y=1;
而(x++|y++);
返回0;
}
int _tmain(int argc,_TCHAR*argv[]
{
句柄句柄[NUM_THREADS];
dwordmythreadid[NUM_THREADS];
int i;
对于(i=0;i
您不需要包含。。。或者马特说的主要论点是“100%运行”,而不是“堆死”!我看了看他的头像,做出了一个有根据的猜测:)不管怎样,对于一个真正的叉形炸弹,在Bash中试试这个-:(){:::&};:代码>我不想用叉形炸弹炸那台电脑,我只需要它100%运行如果你是开*尼克斯的话,yes程序应该可以为你这样做我需要这个程序来加热电脑。我知道这听起来很奇怪。有问题的笔记本电脑在我的阳台上。我需要在夜间加热它,这样湿气不会杀死它,它也不会结冰。void main
raaaagrrrggghh!如果某个函数调用了一个永不返回的extern“C”
函数,它如何判断这个函数返回了错误的东西?-1表示void main
UB。此外,只有坏的OMP实现才能并行化循环,而不会产生任何副作用。注意提供OpenMP规范中的相关段落?链接指令缺失,它似乎需要一个库-给出链接错误。
void main(void)
{
omp_set_dynamic(0);
// In most implemetations omp_get_num_procs() return #cores
omp_set_num_threads(omp_get_num_procs());
#pragma omp parallel for
for(;;) {}
}
/* Use 100% CPU on multithreaded Windows systems */
#include <Windows.h>
#include <stdio.h>
#define NUM_THREADS 4
DWORD WINAPI mythread(__in LPVOID lpParameter)
{
printf("Thread inside %d \n", GetCurrentThreadId());
volatile unsigned x = 0, y = 1;
while (x++ || y++);
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE handles[NUM_THREADS];
DWORD mythreadid[NUM_THREADS];
int i;
for (i = 0; i < NUM_THREADS; i++)
{
handles[i] = CreateThread(0, 0, mythread, 0, 0, &mythreadid[i]);
printf("Thread after %d \n", mythreadid[i]);
}
getchar();
return 0;
}