Для OpenMP, когда мой код использует функции в своем API (например, omp_get_thread_num ()) без использования его директив (таких как те #pragma omp ...),
почему напрямую указывается libgomp.a в gcc вместо использования -fopenmp не работает, например
gcc hello.c /usr/lib/gcc/i686-linux-gnu/4.4/libgomp.a -o hello
Обновление: Я только что обнаружил, что ссылка на libgomp.a не работает, но связь с libgomp.so работает. Означает ли это, что OpenMP нельзя связывать статически?
Почему -fopenmp работает только без указание файлов библиотеки
gcc hello.c -fopenmp -o hello
Обновление: Другими словами, почему при использовании -fopenmp не требуется явная ссылка на libgomp.so?
Почему это также компилируется:
gcc hello.c -L / usr / lib /gcc/i686-linux-gnu/4.4/ -lgomp -o привет
Будет ли игнорироваться директива OpenMP в коде, если он есть?
С уважением!