Я пытаюсь скомпилировать Google RPC (GRPC) на моем поле RHEL 5, скрипт конфигурации проверяет и выдает эту ошибку:
configure: error: sched_yield was not found on your system
Я проверил файл config.log и нашел что-то вроде этого:
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char sched_yield ();
| int
| main ()
| {
| return sched_yield ();
| ;
| return 0;
| }
configure:19729: result: no
configure:19736: error: in `/downloads/grpc/third_party/protobuf':
configure:19738: error: sched_yield was not found on your system
Ну, это правильно, я сделал ручной тест и не найден.Нет проблем.
But, I just wish to know the principle behind "configure"!
Пытается ли «configure» сгенерировать исходный код на языке c / c ++ и скомпилировать его, чтобы посмотреть, поддерживаются ли некоторые функции?Как вы знаете, скрипт «configure» обычно выполняется очень быстро, гораздо быстрее, чем вызов большого количества процессов gcc / g ++ для проверки заголовков / функций.
Так как же «configure» выполняет эту проверку «заголовка / функции»