Функция error () в gcc.Что он делает и существует ли он в Visual Studio? - PullRequest
2 голосов
/ 14 января 2012

Итак, у меня есть школьный проект, который использует error ().Однако я работаю на компьютере с Windows, и Visual Studio не поддерживает функцию error ().Поскольку в Google практически невозможно выполнить поиск «error ()».Мне было интересно, что именно делает эта функция и есть ли флаг компилятора для включения поддержки error () в Visual Studio (2010).

static void *
check_nonnull (void *p)
{
  if (! p)
    error (1, errno, "memory exhausted");
  return p;
}

1 Ответ

3 голосов
/ 14 января 2012

Функция error является расширением GNU и недоступна в Visual Studio.

Ее поведение описано на странице руководства здесь: http://linux.die.net/man/3/error

Не должно бытьТрудно написать собственную версию (даже проще, если вам не нужно подражать каждой детали).Вам понадобится функция strerror, которая равна , доступна в VS .

...