Все стандартные файлы заголовков библиотеки установлены с пакетом mingw32-gcc-g ++? [Дубликат]

Предложение else выполняется только тогда, когда ваше условие while становится ложным. Если вы break вышли из цикла или если возникло исключение, оно не будет выполнено.

Один из способов думать об этом - это как конструкция if / else относительно условия:

if condition:
    handle_true()
else:
    handle_false()

аналогична конструкции цикла:

while condition:
    handle_true()
else:
    # condition is false now, handle and go on with the rest of the program
    handle_false()

Пример может быть в строках:

while value < threshold:
    if not process_acceptable_value(value):
        # something went wrong, exit the loop; don't pass go, don't collect 200
        break
    value = update(value)
else:
    # value >= threshold; pass go, collect 200
    handle_threshold_reached()
13
задан Kevin Guan 5 January 2016 в 08:35
поделиться

4 ответа

<graphics.h> - очень старая библиотека. Лучше использовать что-то новое

. Вот некоторые 2D-библиотеки (независимые от платформы) для C / C ++

SDL

GTK +

Qt

Также имеется бесплатная очень мощная 3D-библиотека с открытым исходным кодом для C ++

OGRE

17
ответ дан Daniel Brunner 19 August 2018 в 10:16
поделиться

Существует современный порт для этого графического интерфейса Turbo C, он называется WinBGIM , который имитирует графику BGI под MinGW / GCC.

Я не пробовал, но выглядит многообещающе. Например, initgraph создает окно, и с этой точки вы можете рисовать в это окно с помощью старых добрых функций, в конце closegraph удаляет окно.

Когда я впервые перешел из DOS-программирования в Windows, у меня не было интернета, и я попросил что-то вроде этого. Но в конце я должен был узнать, как создавать окна и как обрабатывать события и использовать контексты устройств из автономной справки Windows SDK.

4
ответ дан Calmarius 19 August 2018 в 10:16
поделиться

<graphics.h> не является стандартным заголовком. Чаще всего это относится к заголовку для BGI API Borland для DOS и в лучшем случае устаревает.

Однако это очень просто; существует реализация Win32 интерфейса BGI под названием WinBGIm . Он реализован с использованием вызовов Win32 GDI - графического интерфейса Windows самого низкого уровня. Поскольку это предусмотрено в качестве исходного кода, возможно, это простой способ понять, как работает GDI.

WinBGIm, однако, ни в коем случае не является кросс-платформенным. Если все, что вам нужно, это простые графические примитивы, большинство библиотек GUI более высокого уровня, таких как wxWidgets и Qt, тоже это поддерживает. Существуют более простые библиотеки, предлагаемые в возможных дублирующих ответах, упомянутых в комментариях.

6
ответ дан Clifford 19 August 2018 в 10:16
поделиться
  • 1
    WinBGIm довольно старый - последнее обновление в 2004 году? - и вовсе не стандартный API. – duskwuff 29 August 2017 в 04:54
  • 2
    @duskwuff: Я не уверен, какой момент вы пытаетесь сделать. Похоже, что это касается вопроса, а не моего ответа. Быть старым вряд ли является проблемой, когда API, который он реализует, не изменился. Я четко заявил, что это не стандартная библиотека. Нет стандартной библиотеки для графики. Все ваши вопросы уже сделаны в существующих ответах, и самому вопросу 6 лет (так что на момент написания статьи WinBGIm был не так уж и старым). – Clifford 29 August 2017 в 05:49

[graphics.h] появляется в том, что когда-то было связано с Borland и / или Turbo C ++, в 90-х.

http://www.daniweb.com/software-development/cpp / threads / 17709/88149 # post88149

Маловероятно, что вы найдете какую-либо поддержку для этого файла с современным компилятором. Для других графических библиотек проверьте список «связанных» вопросов (вопросы, связанные с этим). Например, «Простая, 2d кросс-платформенная графическая библиотека для c или c ++?» .

Cheers & amp; HTH.,

3
ответ дан Community 19 August 2018 в 10:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: