Рабочий стол > DL Руководство пользователя > CPP > Information > Сравнить страницу
CPP Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 6 изменений. Просмотреть первое изменение .

 {note}
 h2. Скачать C++ IDE для DL:
 [CodeBlocks-DL.zip|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-DL.zip] (150 Мб)
 [CodeBlocks-DL.7z|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-DL.7z] (64 Мб)
 [default.conf|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-16.01/default.conf] (отдельно настройки)
  Быстро скачать с Google Drive: https://drive.google.com/open?id=1jMRr8lUVMikH1xgPW0PPxapTsi83LKkT
 [CodeBlocks-DL.7z|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-17.12/CodeBlocks-DL.7z] (64 Мб)
 [CodeBlocks-DL.zip|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-17.12/CodeBlocks-DL.zip] (157 Мб)
 [default.conf|http://dl.gsu.by/images/Downloads/CPP/CodeBlocks-17.12/default.conf] (отдельно настройки)
  
 h5. [Как распаковать и запустить|http://dl.gsu.by/images/_i4f/cpp/CB-inst.doc]
  
 В сборку включено:
* MinGW-w64 GCC 5.4.0 [*|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/5.4.0/threads-win32/dwarf/i686-5.4.0-release-win32-dwarf-rt_v5-rev0.7z/download]
 * Code::Blocks 16.01 [*|http://sourceforge.net/projects/codeblocks/files/Binaries/16.01/Windows/codeblocks-16.01-nosetup.zip] [portable|http://wiki.codeblocks.org/index.php/FAQ-Settings#Q:_Where_does_C::B.27s_configuration_file_store.3F_How_do_I_make_Code::Blocks_portable.3F]
 * По умолчанию используется компилятор "GNU GCC Compiler 5.4.0 Debug" с доступными под mingw [страховочными|http://codeforces.com/blog/entry/15547] [опциями|https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html] {noformat}-std=c\+\+14 -static -m32 -march=i686 -Wl,--stack,67108864 -Og -g
  * MinGW-w64 GCC 7.3.0 [*|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/threads-win32/dwarf/i686-7.3.0-release-win32-dwarf-rt_v5-rev0.7z/download]
 * Code::Blocks 17.12 [*|http://sourceforge.net/projects/codeblocks/files/Binaries/17.12/Windows/codeblocks-17.12-nosetup.zip] [portable|http://wiki.codeblocks.org/index.php/FAQ-Settings#Q:_Where_does_C::B.27s_configuration_file_store.3F_How_do_I_make_Code::Blocks_portable.3F]
 * По умолчанию используется компилятор "GNU GCC Compiler 7.3.0 Debug" с доступными под mingw [страховочными|http://codeforces.com/blog/entry/15547] [опциями|https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html] {noformat}-std=c\+\+17 -static -m32 -march=native -mfpmath=sse -Wl,--stack,67108864 -Og -g
 -pedantic -Wall -Wextra -Wfloat-equal -Weffc++ -Wredundant-decls -Wconversion -Wlogical-op -Wcast-qual -Wformat=2
 -Werror -Wno-error=sign-compare -Wno-error=conversion -Wno-error=vla -Wno-error=maybe-uninitialized -Wno-error=float-equal -Wno-error=float-conversion
 -fstack-protector-all -lssp -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_FORTIFY_SOURCE=2{noformat}
* Также через меню {{Settings \ Compiler \ Selected compiler \ Set as default}} можно активировать отдельно доступный под именем "GNU GCC Compiler 5.4.0 Release" набор опций компилятора {noformat}-std=c++14 -static -m32 -march=i686 -Wl,--stack,67108864 -O3{noformat}
  * Также через меню {{Settings \ Compiler \ Selected compiler \ Set as default}} можно активировать отдельно доступный под именем "GNU GCC Compiler 7.3.0 Release" набор опций компилятора {noformat}-std=c++17 -static -m32 -march=native -mfpmath=sse -Ofast -flto -Wl,--stack,67108864{noformat}
 * Отступ в два пробела
 * На сочетание Ctrl+Alt+L повешено автоформатирование кода через плагин [AStyle|http://stackoverflow.com/questions/16745108/formatting-code-in-code-blocks] с шаблоном [Google|http://astyle.sourceforge.net/astyle.html#_style=google]
 * В меню Tools добавлен пункт "Run with stdin from input.txt" для запуска с [перенаправлением stdin на чтение из файла|http://stackoverflow.com/questions/13295869/code-blocks-redirecting-input-output]
 * Изменён шаблон нового файла *.cpp при создании проекта или отдельно нового файла через меню {{File \ New \ File... \ C++ Source}}:
 {code}
 #include <bits/stdc++.h>
 using namespace std;
  
 int main() {
  int s;
  cin >> s;
  cout << s;
 }
 {code}
  
*Чтобы использовались предзаданные настройки, IDE нужно запускать в портативном режиме через {{CodeBlocks-16.01\CbLauncher.exe}}.*
 В этом случае для хранения настроек будет использоваться файл {{CodeBlocks-16.01\default.conf}} внутри приложения, общий на всех пользователей ПК.
 Если же запуск приложения в классе производится из общей сетевой папки, то лучше запускать {{CodeBlocks-16.01\codeblocks.exe}}, который создаёт с нуля отдельные настройки в пользовательском профиле. Перед этим нужно будет один раз скопировать {{CodeBlocks-16.01\default.conf}} из архива в {{%APPDATA%\CodeBlocks\default.conf}}.
  *Чтобы использовались предзаданные настройки, IDE нужно запускать в портативном режиме через {{CodeBlocks-17.12\CbLauncher.exe}}.*
 В этом случае для хранения настроек будет использоваться файл {{CodeBlocks-17.12\default.conf}} внутри приложения, общий на всех пользователей ПК.
 Если же запуск приложения в классе производится из общей сетевой папки, то лучше запускать {{CodeBlocks-17.12\codeblocks.exe}}, который создаёт с нуля отдельные настройки в пользовательском профиле. Перед этим нужно будет один раз скопировать {{CodeBlocks-17.12\default.conf}} из архива в {{%APPDATA%\CodeBlocks\default.conf}}.
  
 Для запуска отладчика требуется предварительная настройка проекта. См. об этом подробнее в иллюстрированной [инструкции|http://dl.gsu.by/images/_i4f/cpp/CB-inst.doc].
 Отладчик [не работает при наличии в пути к файлу пробелов|http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks#Path_with_spaces].
 {note}
  
 h1. [С++|https://ru.wikipedia.org/wiki/C%2B%2B]
  
 Справка по языку: http://ru.cppreference.com/w/.
  
 Очень познавательно [C++ 11 FAQ от Бьярна Страуструпа|http://sergeyteplyakov.blogspot.com.by/2012/05/c-11-faq.html].
 В [C++14|https://ru.wikipedia.org/wiki/C%2B%2B14] были ещё небольшие улучшения.
 Сегодня использовать старые стандарты не имеет смысла.
  
 [Бесплатный курс Академии Яндекса Введение в программирование (C++)|https://stepik.org/course/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-(C++)-363/syllabus?module=1]
  
 h3. Полезности
  
 * [Редирект cin/cout в файлы|http://stackoverflow.com/a/38504880/603516]
 * [Отключение синхронизации stdin|http://stackoverflow.com/questions/31162367/significance-of-ios-basesync-with-stdiofalse-cin-tienull]
 * [Медленный|http://codeforces.com/blog/entry/43780] [endl|http://stackoverflow.com/questions/213907/c-stdendl-vs-n]
 * [Инициализация массива нулями|http://stackoverflow.com/questions/1920430/c-array-initialization]
  
 [Google C++ Code Style|https://google.github.io/styleguide/cppguide.html].
  
 [Форум DL по С++|http://dl.gsu.by/NForum/posts/topicshow/2567.dl?postid=63941#63941]
  
 h2. Compilers
  
 h3. GCC for Windows
  
 [GNU Compiler Collection|https://gcc.gnu.org/] содержит самую распространённую реализацию компилятора C++ и стандартной библиотеки.
  
 Под Windows она доступна в сборках:
 || Сборка || Версия GCC || Коментарий ||
 | [Cygwin|https://cygwin.com/] | ? | См. [Cygwin vs MinGW|http://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw], т.е. не очень хороший вариант. |
| [MinGW|https://sourceforge.net/projects/mingw/] | 5.3.0-3 | Полная поддержка C++11. Самая традиционная сборка, но медленно обновляется и иногда содержит хронические баги |
 | [MinGW-w64|https://sourceforge.net/projects/mingw-w64/] | 6.3.0 | Полная поддержка C++14. Активнее обновляется и исправляется, чем MinGW. [Готовые сборки для скачивания|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/]. [Значение опций|http://stackoverflow.com/questions/29947302/meaning-of-options-in-mingw-w64-installer]. |
 | [Nuwen|https://nuwen.net/mingw.html] | [6.3.0|https://gcc.gnu.org/gcc-6/changes.html] | C++14 по умолчанию. Собственная структура каталогов, которую [сложнее|http://forums.codeblocks.org/index.php?topic=18259.0] подключить в IDE. |
  | [MinGW|https://sourceforge.net/projects/mingw/] | 6.3.0 | Полная поддержка C++14. Устарелая сборка, медленно обновляется и иногда содержит хронические баги |
 | [MinGW-w64|https://sourceforge.net/projects/mingw-w64/] | 8.1.0 | Полная поддержка C++17. Активнее обновляется и исправляется, чем MinGW. [Готовые сборки для скачивания|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/]. [Значение опций|http://stackoverflow.com/questions/29947302/meaning-of-options-in-mingw-w64-installer]. |
 | [Nuwen|https://nuwen.net/mingw.html] | [9.2.0|https://gcc.gnu.org/gcc-9/changes.html] | C++17 по умолчанию. Собственная структура каталогов, которую [сложнее|http://forums.codeblocks.org/index.php?topic=18259.0] подключить в IDE. |
  
 [Версии компиляторов, доступные к тестированию на DL|DL Compilers].
  
 h3. [Clang|https://ru.wikipedia.org/wiki/Clang] / [LLVM|http://clang.llvm.org/]
  
 Более прогрессивный компилятор, быстрее и лучше сообщения об ошибках. Но не содержит стандартных заголовков, которые нужно брать из GCC, что [усложняет|http://stackoverflow.com/questions/14419168/using-clang-with-codeblocks-on-windows-7] настройку.
  
 h3. [Visual C++ Build Tools|http://landinghub.visualstudio.com/visual-cpp-build-tools]
  
 Для установки нужно минимум 3 Гб свободного места.
  
 h2. Online IDEs
  
 Для начальных программ современные онлайн редакторы могут оказаться даже удобнее, т.к. не требуют настройки, а по функционалу почти не уступают.
  
 https://coderpad.io/ - быстрые автодополнение и запуск, подсветка ошибок на лету, автосохранение, но нет консольного ввода
 https://www.hackerrank.com/ - можно отлаживать свою программу в окне подходящей задачи
 http://cppshell.com/
 http://ideone.com/
  
 h2. Desktop IDEs
  
 Выбор IDE для олимпиад:
 https://www.quora.com/Being-a-competitive-programmer-which-is-the-best-IDE-to-use
 http://codeforces.com/blog/entry/3060
 http://codeforces.com/blog/entry/356
  
 Олимпиадникам стоит заранее познакомиться с редакторами, доступными на [IOI|http://ioi2016.ru/pages/environment?locale=ru] и [ACM ICPC|https://icpc.baylor.edu/worldfinals/programming-environment].
  
 Для разработки:
 http://stackoverflow.com/questions/89275/best-c-ide-or-editor-for-windows
 https://www.quora.com/What-is-the-best-C-C-IDE
 http://ru.stackoverflow.com/questions/3592/ide-%D0%B4%D0%BB%D1%8F-c-%D0%B8-c
 https://habrahabr.ru/post/149773/
  
 h3. [Code::Blocks|http://www.codeblocks.org/]
  
 Относительно легковесный редактор по сравнению с конкурентами. Есть автодополнение. Настройка проекта не обязательна.
 Интерфейс страшненький, но олимпиадники хвалят за функционал и скорость. Есть плагины.
 Доступен на IOI.
  
 [CodeBlocks HowTo|https://www.ntu.edu.sg/home/ehchua/programming/howto/CodeBlocks_HowTo.html]. [Run with redirected input/output|http://stackoverflow.com/questions/13295869/code-blocks-redirecting-input-output].
  
 [Скачать|http://www.codeblocks.org/downloads/26#windows].
 {{codeblocks-16.01mingw-setup.exe}} содержит в себе уже настроенный компилятор GCC MingGW 4.9.2, но в нём [нашлись|http://stackoverflow.com/questions/12975341/to-string-is-not-a-member-of-std-says-so-g#comment63754740_12975602] [баги|http://stackoverflow.com/a/38163628/603516].
 Поэтому лучше ставить отдельно `codeblocks-16.01-setup.exe` и последнюю версию MinGW-w64, [например|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/5.3.0/threads-win32/dwarf/i686-5.3.0-release-win32-dwarf-rt_v4-rev0.7z/download], которую потом [указать в настройках|http://stackoverflow.com/questions/26414511/how-do-i-compile-for-64bit-using-g-w-codeblocks] ([в картинках|http://www.cyberforum.ru/post7591263.html]).
 Заодно рекомендуется в настройках сразу включить [-std=c++14|http://stackoverflow.com/questions/31171979/enabling-std-c14-flag-in-codeblocks].
  {{codeblocks-17.12mingw-setup.exe}} содержит в себе уже настроенный компилятор GCC MingGW 5.1.0, но в нём [нашлись|http://stackoverflow.com/questions/12975341/to-string-is-not-a-member-of-std-says-so-g#comment63754740_12975602] [баги|http://stackoverflow.com/a/38163628/603516].
 Поэтому лучше ставить отдельно `codeblocks-17.12-setup.exe` и последнюю версию MinGW-w64, [например 8.1.0|https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/threads-win32/dwarf/i686-8.1.0-release-win32-dwarf-rt_v6-rev0.7z/download], которую потом [указать в настройках|http://stackoverflow.com/questions/26414511/how-do-i-compile-for-64bit-using-g-w-codeblocks] ([в картинках|http://www.cyberforum.ru/post7591263.html]).
 Заодно рекомендуется в настройках сразу включить [-std=c++17|http://stackoverflow.com/questions/31171979/enabling-std-c14-flag-in-codeblocks].
  
 || Полезные действия || Hotkey ||
 | Компиляция и запуск | F9 |
 | Форматирование кода | Plugins -> Source code formatter ([AStyle|http://wiki.codeblocks.org/index.php?title=Source_Code_Formatter_plugin]) [*|http://stackoverflow.com/questions/26278082/is-there-any-shortcut-for-codeblocks-to-fomat-the-code] |
  
 h3. [Codelite|http://codelite.org/]
  
 Близкий соперник Code::Blocks. Есть поддержка [компиляции|http://codelite.org/LiteEditor/ClangCompiler] и [автодополнения|http://codelite.org/LiteEditor/ClangIntegration35] через Clang.
  
 h3. [Dev-C++|https://sourceforge.net/projects/orwelldevcpp/]
 Тоже лёгкое IDE как предыдущие, но есть негативные отзывы на codeforces.
  
 h3. [JetBrains CLion|https://www.jetbrains.com/clion/]
  
 Очень удобный редактор и отладчик. Но нет [общедоступной бесплатной|http://forum.ru-board.com/topic.cgi?forum=35&topic=2021&start=620] версии. Пока подсветка в редакторе не понимает C++14.
 Требуется отдельная настройка проекта под каждый файл с решением.
  
 h3. [Visual Studio Community|https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx]
  
 Содержит реализацию языка и навороченное IDE, которое многие хвалят. Если не жалко 8 Гб места, можно попробовать.
 Требуется отдельная настройка проекта под каждый файл с решением.
  
 h3. [Eclipse CDT|http://www.eclipse.org/cdt/]
 Требуется отдельная настройка проекта под каждый файл с решением.
 Доступен на финалах IOI и ACM ICPC.
  
 h3. [NetBeans|https://netbeans.org/features/cpp/]
 Требуется отдельная настройка проекта под каждый файл с решением.
  
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами