需要能使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这是一个很好的老

我需要一个程序,这将使我的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

这是一个很好的老式叉形炸弹

#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;
}