popen (), stdio.h, макросы функциональных тестов - PullRequest
0 голосов
/ 09 декабря 2011

Я использую popen() в программе на C ++. Я вижу, что они являются функциями C, определенными в stdio.h. Я пытаюсь, чтобы моя IDE (KDevelop 4) распознала popen().

Я посмотрел фактический исходный код stdio.c. Здесь popen не выглядит «обернутым» никакими макросами или чем-либо еще - он выглядит как любая другая типичная функция stdio.h

Почему тогда popen() не распознается моей IDE? #include <stdio.h> должно быть все, что нужно, но это не работает ...

Я заметил на страницах MAN, что они говорят о функциональных тестовых макросах. В stdio.h, popen() НЕ оборачивается никаким макросом (опять же, он выглядит как любая другая функция). Кроме того, когда я пытаюсь включить один из этих макросов, например, #define _POSIX_C_SOURCE 2, проблема не решена - popen() все еще остается нераспознанным.

Программа компилируется (g ++) и работает правильно, хотя. Я просто хотел бы знать, что здесь происходит.

(Другой поток в StackOverflow решает этот вопрос, но не получает удовлетворительного ответа: неявно объявляется popen, даже если добавлен #include )

...