Для 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 hello
Будет ли это игнорировать директивы OpenMP в коде, если они есть?
Спасибо и всего наилучшего!