У меня есть приложение, использующее системный вызов mmap, у меня возникла проблема с тем, чтобы оно часами компилировалось, глядя на то, почему я получаю MAP_ANON и MAP_ANONYMOUS были необъявленными, у меня был меньший фрагмент кода, который я использовал, и я Я видел, что я могу скомпилировать его очень хорошо, поэтому я попробовал просто базовую компиляцию, и это сработало, я увидел, что она не работает, когда вы добавляете -std = c99. Есть ли конкретная причина, по которой MAP_ANON и MAP_ANONYMOUS недопустимы в стандарте C99? Я знаю, что они не определены в POSIX, но определены в BSD SOURCE, поэтому я просто хочу знать, почему это так.