IoILLLLLL 2022-09-17 21:02 采纳率: 100%
浏览 34
已结题

在vs中使用openmp的task指令

问题遇到的现象和发生背景

今天学习了openmp的task指令,用来实现斐波拉契数列,在visualstudio中编译的时候一直显示报错,弄了很久,在网上也没搜到有结果。

用代码块功能插入代码,请勿粘贴截图
#include<stdlib.h>
#include<omp.h>
#include<stdio.h>
int fib(int n)
{
    if (n < 2)
        return n;
    int x, y;
#pragma omp task
    {
         x = fib(n - 1); 
    }
#pragma omp task
    {
         y = fib(n - 2);
    }
#pragma omp taskwait
        return x + y;
    
}

int main(int arg, char** argv)
{
    int num_threads = 4;
    omp_set_num_threads(num_threads);
    int  n = 7;
    double time1 = omp_get_wtime();
#pragma omp parallel
    {
    int sum = fib(n);
    }
    double time2 = omp_get_wtime();
    printf("the time is %f\n ", time2 - time1);
    return 0;
}

运行结果及报错内容

img

我的解答思路和尝试过的方法

我一开始以为是task的格式错了,然后对着练习的代码一个个看,也没错;练习的代码是在linux上运行的,我是在vs上使用的,会不会是这个原因呢?

我想要达到的结果

成功编译

  • 写回答

1条回答 默认 最新

  • 地球屋里老师 2022-09-23 13:12
    关注

    这是vs的问题,貌似不支持task,用gcc就好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月17日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'