我想对我从git repo下载的GOMP库进行一些更改(只是暂时打印),但似乎我所做的并不是真正有效的,因为在执行代码时没有打印。
下载GCC并将其构建在build/
文件夹中后,我试图做的是调用make -j'nproc'
,然后从这里调用make install
,我试图通过gcc/build/install/gcc -o test - test.c
使用我的GCC版本,结果它工作了,因此,我开始修改LIBGOM target.c文件,并在一个函数中添加了一些print,我确信该函数被称为(由callgrind检查)“GOMP_target_ext”所以我再次调用了这两个make命令,并再次编译,但我的更改没有任何影响。所以我试图调用gcc/build/install/bin/gcc -o test -fopenmp test.c
,这也没有太大变化。我想可能是我在代码中调用OpenMP的方式,所以我改变了#include "omp.h"
到#include <omp.h>
,但又没有,我错过了什么?
1条答案
按热度按时间vzgqcmou1#
在Unix/Linux上,你可以使用
LD_PRELOAD
环境变量来强制加载你的库,其他库是由ld
加载的。使用弱链接,你甚至可以覆盖稍后加载的库中的符号(例如你自己的malloc
)。