Для 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 в коде, если он есть?
Спасибо и приветствую!