Можно ли использовать GCC без Cygwin или MinGW?

Ваш первый порт вызова должен быть документацией , который объясняет это разумно ясно:

Брошено, чтобы указать, что к массиву был обращен незаконный индекс. Индекс является либо отрицательным, либо большим или равным размеру массива.

blockquote>

Так, например:

int[] array = new int[5];
int boom = array[10]; // Throws the exception

Как избежать этого. ., не делайте этого. Будьте осторожны с вашими индексами массива.

Одной из проблем, с которыми иногда сталкиваются люди, является то, что массивы 1-индексируются, например

int[] array = new int[5];
// ... populate the array here ...
for (int index = 1; index <= array.length; index++)
{
    System.out.println(array[index]);
}

Это пропустит первый элемент (индекс 0 ) и выдают исключение, когда индекс равен 5. Действующие индексы здесь 0-4 включительно. Правильный, идиоматический оператор for здесь будет:

for (int index = 0; index < array.length; index++)

(Предполагается, что вы нуждаетесь в индексе, конечно. Если вы можете использовать расширенный для цикла, сделайте это.)

14
задан Community 23 May 2017 в 11:48
поделиться

4 ответа

Для MinGW вам понадобится MinGW в том смысле, что MinGW обеспечивает реализацию языковой системы gcc. Я не понимаю, почему ваш вопрос имеет смысл - он похож на «Могу ли я использовать VC ++ без установки VC ++?»

Чтобы уточнить: MinGW - это исполняемые файлы компилятора GCC, заголовки и вспомогательные объекты. Больше ничего нет. Существует связанный, но независимый пакет под названием MSYS, который предоставляет некоторые утилиты posix, но вам это ни в коем случае не нужно для использования MinGW-версии GCC.

11
ответ дан 1 December 2019 в 13:59
поделиться

В чем именно проблема с mingw? А что является родным?

mingw использовался для генерации в значительной степени автономных двоичных файлов, и, возможно, он даже более родной, чем MSVC, для которых требуется msvcrt, компонент, который иногда нужно устанавливать.

Так что, возможно, вы могли бы объяснить, что вы попробовал с mingw, и в чем именно заключается проблема.

1
ответ дан 1 December 2019 в 13:59
поделиться

I don't think so. I've had to compile some command line apps for people in the past and always had to use cygwin.

I think the biggest reason being posix compatibility, which is what cygwin strives to bring to Win32.

1
ответ дан 1 December 2019 в 13:59
поделиться

Чтобы отключить дополнительную зависимость mingw, просто не используйте исключения (-fno-exceptions), я не использовал cygwin, поэтому не уверен .

2
ответ дан 1 December 2019 в 13:59
поделиться
Другие вопросы по тегам:

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