提问人:matteo cocciniglia 提问时间:11/9/2023 最后编辑:Jonathan Lefflermatteo cocciniglia 更新时间:11/10/2023 访问量:74
我怎样才能更好地理解GCC中某些指令的工作流程?[关闭]
How I can have a better understanding of the workflow for some directive in GCC? [closed]
问:
我目前正在做一个项目,我需要更好地了解 GOMP 指令的 GCC 工作流程,我也想对源代码进行一些更改。 是否有最佳实践? 我应该重新编译整个 GCC 来做到这一点吗?
我已经搜索了如何构建我的 GCC,但仅仅为了更改一些更改而这样做感觉太过分了。
答:
1赞
Joseph Tate
11/9/2023
#1
如果你看一下这里的openmp文档,似乎GOMP使用makefile和编译指示向gcc编译器提供信息并注释其行为方式,而不是实际重写GCC的源代码。我不是专家,所以如果我离开了,请原谅我......这是我看到的一个例子:
#include <std.io>
#include <omp.h>
int main (void) {
omp_set_nested(1);
omp_set_dynamic(0);
#pragma omp parallel
{
//should print whatever OMP_NUM_THREADS was set to.
printf ("Inner: num_thds=%d\n", omp_get_num_threads());
}
#pragma omp barrier
return 0;
}
您是否正在尝试使用 GOMP 将线程卸载到另一台设备?或者您只想在本地运行多线程?您具体想将 GOMP 用于什么?
这是我找到的另一个有用的资源......将 OpenMP 与 C 一起使用
评论
1赞
matteo
11/10/2023
谢谢你的回答!我不是要使用该库,而是要了解该库的某些部分究竟是如何工作的,然后将我的代码注入其中。这就是为什么我感到困惑的原因,如果我必须构建整个 GCC 还是有其他解决方案
上一个:VScode 无法识别路径变量
评论