![]() |
TX Library Help – Version: 00173a, Revision: 171
PROJECT_BRIEF=
|
TX Library - компактная графическая библиотека для Win32 на С++. Это небольшая "песочница" для начинающих реализована с целью помочь им в изучении простейших принципов программирования. Документация на русском языке.
Философия TX Library - облегчить первые шаги в программировании и подтолкнуть к творчеству и самостоятельности.
TX Library is a tiny graphics library for Win32 written in C++. It is a small sandbox for the very beginners to help them to learn basic programming principles. The documentation is currently in Russian.
Официальный сайт библиотеки: txlib.ru.
Скачать библиотеку: на сайте sourceforge.net. См. также раздел Установка библиотеки.
См. также страницу проекта на SourceForge. Короткая ссылка на онлайн-документацию: gg.gg/TXLib.
Баг-трекер: Сообщить об ошибке
Аналогичный проект для Linux/MacOS: txlin.roveramd.com.
![]() Example03.cpp: Простейшая программа | ![]() Movie.cpp: Мультфильм |
![]() Shaker.cpp: Простая физическая модель движения | ![]() Phong.cpp: Модель освещения сферы |
![]() Tree.cpp: Простая рекурсия: Дерево | ![]() Tennis.cpp: Использование картинок |
Библиотека TXLib – это всего лишь инструмент для того, чтобы облегчить первые шаги в программировании. Однако этот инструмент, как и любой другой, может быть применен неправильно. (Тем не менее, в основу TXLib заложены некоторые принципы, помогающие конструктивному неиллюзорному обучению.)
Сама по себе любая библиотека или язык программирования не научит начинающего писать программы грамотно. Научит этому разработка своих, достаточно больших проектов, в сочетании с тесным общением профессионалов, желающих помочь начинающим. Такие профессионалы должны обладать и опытом разработки больших программ, и педагогическими навыками, чтобы передать свой опыт начинающим. К сожалению, не всегда это совпадает. Профессионалы-программисты зачастую не хотят лезть в обучение, где хватает своих проблем. С другой стороны, недобросовестные учителя, иногда даже в сильных школах и курсах, хватаются за удобные инструменты обучения (чужие или свои библиотеки, среды и языки программирования), не удосуживаясь следить за качеством кода обучаемых, за стилем и направлением их мышления, ограничиваясь лишь видимостью обучения. Такие образовательные иллюзии очень вредны. Заметны они становятся достаточно поздно, когда выясняется, что ученик, легко пишущий небольшие программы (пусть даже алгоритмически насыщенные, олимпиадные), принципиально не способен написать что-то большее, путается в коде, а другие, в том числе и профессионалы, его не понимают в силу спутанности его мышления и неумения внятно выразить мысли на уровне современных стандартов. Чтобы преодолеть этот барьер, воздвигнутый нерадивым преподавателем (или вашей собственной нерадивостью), приходится серьезно и самостоятельно переучиваться – иногда будучи уже студентом или аспирантом. Либо смириться и "носить кофе программистам".
Искусство программирования -- это искусство мышления, не надо это забывать, уважаемые школьники, студенты и особенно преподаватели.
Удачи, и May the Source be with you! :)
Скачать библиотеку: на sourceforge.net
TXLib-v0173a.rar.exe.
Цифры могут отличаться (это номер версии), расширение
.exe может не отображаться, в зависимости от текущих настроек Windows.TXLib Help,
изучите ее. Простейший пример см. <http://storage.ded32.net.ru/Lib/TX/TXUpdate/Doc/HTML.ru/a00001.htm> здесь. Другие примеры см. в папке Examples, в папке Examples/Demo.TXLib.h
отсюда, сохраните (Ctrl+S) его в свою рабочую папку, где вы сохраняете свои программы. Пользуйтесь системой помощи онлайн.dbghelp32.dll
для 32-разрядных программ (либо dbghelp.dll
, 32-разрядная версия),dbghelp64.dll
для 64-разрядных программ (либо dbghelp.dll
, 64-разрядная версия).g++
:mgwhelp32.dll
для 32-разрядных программ (либо mgwhelp.dll
, 32-разрядная версия),mgwhelp64.dll
для 64-разрядных программ (либо mgwhelp.dll
, 64-разрядная версия).Суффиксы 32
и 64
помогают отличить 32-разрядную и 64-разрядную версии DLL-файлов библиотек. Например, dbghelp32.dll
- это просто переименованная 32-разрядная версия файла dbghelp.dll
.
Самораспаковывающийся архив с этими библиотеками можно скачать здесь.
Для наиболее полной диагностики ошибок полностью отключайте оптимизацию при компиляции. Например, для компилятора GCC g++
- с помощью ключа командной строки -O0
. Разные среды программирования позволяют задать эти ключи по-разному, например, в CodeBlocks через Главное меню - Settings - Compiler - (Global Compiler Settings) - (Compiler Settings) - Other Options.
TXLib.h
должен быть включен (#include)
в программу:windows.h.
Либо надо задать
(#define) константы WINVER
и _WIN32_IE
не ниже 0x0500
и отменить
(#undef) макросы UNICODE
и _UNICODE
.string.h или
stdio.h,
если используется режим строгого соответствия стандарту ANSI. Имейте в виду, что эти файлы могут включаться в windows.h
.boost
, использующих модуль boost::preprocessor.
SFML
необходимо перед включением (#include)
в программу задать макрос TX_USE_SFML
(#define TX_USE_SFML). TXLib по умолчанию включает режим отладки стандартной библиотеки glibc, а SFML, как правило, собрана без этого режима, что приводит к ложным сообщениям об ошибках, связанным с динамической памятью, например при использовании класса sf::Text.WIN32_LEAN_AND_MEAN
до включения TXLib.h
в программу.-luser32 -lshell32 -ladvapi32
)-luser32 -lshell32 -ladvapi32
)-luser32 -lshell32 -ladvapi32
)-luser32 -lshell32 -ladvapi32
)_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
.Компилятор | Сборка | Среда разработки | Конфигурация | Требуемые библиотеки | |
GCC g++ 4.7.2 | NUWEN.net | CodeBlocks, DevCpp, CLion, VS Code | Debug, Release | msvcrt.dll, libstdc++-6.dll, libgcc_s_dw2-1.dll, libssp-0.dll | |
GCC g++ 4.8.1 | NUWEN.net | CodeBlocks, DevCpp, CLion, VS Code | Debug, Release | msvcrt.dll | |
GCC g++ 4.9.2, 5.1.0 | TDM-GCC 32-bit | DevCPP 5.11 | Debug, Release | msvcrt.dll, libssp-0.dll | |
GCC g++ 4.9.2, 5.1.0 | TDM-GCC 64-bit | DevCPP 5.11 | Debug, Release | msvcrt.dll, libssp_64-0.dll | |
GCC g++ 5.3.0 - 9.2.0 | NUWEN.net | CodeBlocks, DevCpp, CLion, VS Code | Debug, Release | msvcrt.dll | |
GCC g++ | Mingw.org | CodeBlocks, DevCpp, CLion, VS Code | Debug, Release | msvcrt.dll, libstdc++-6.dll, libgcc_s_dw2-1.dll | |
GCC g++ | Qt (Mingw-64) | Qt Creator | Debug, Release | msvcrt.dll, libstdc++-6.dll, libgcc_s_dw2-1.dll, libssp-0.dll, libwinpthread-1.dll | |
GCC g++ | Cygwin | CodeBlocks, DevCpp, CLion, VS Code | Debug, Release | msvcrt.dll, cygwin1.dll, cygstdc++-6.dll, cyggcc_s-seh-1.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2010 (10.0) | Debug | msvcp100d.dll, msvcr100d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2010 (10.0) | Release | msvcp100.dll, msvcr100.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2012 (11.0) | Debug | msvcp110d.dll, msvcr110d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2012 (11.0) | Release | msvcp110.dll, msvcr110.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2013 (12.0) | Debug | msvcp120d.dll, msvcr120d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2013 (12.0) | Release | msvcp120.dll, msvcr120.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2015 (14.0) | Debug | concrt140d.dll, msvcp140d.dll, vccorlib140d.dll, vcruntime140d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2015 (14.0) | Release | concrt140.dll, msvcp140.dll, vccorlib140.dll, vcruntime140.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2017 (15.0) | Debug | concrt140d.dll, msvcp140d.dll, vccorlib140d.dll, vcruntime140d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2017 (15.0) | Release | concrt140.dll, msvcp140.dll, vccorlib140.dll, vcruntime140.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2019 (16.0) | Debug | concrt140d.dll, msvcp140d.dll, msvcp140_1d.dll, msvcp140_2d.dll, vccorlib140d.dll, vcruntime140d.dll | |
Microsoft Visual C | Microsoft | Visual Studio 2019 (16.0) | Release | concrt140.dll, msvcp140.dll, msvcp140_1.dll, msvcp140_2.dll, vccorlib140.dll, vcruntime140.dll | |
Intel Compiler 13 | Intel | Visual Studio 2010+ | Debug, Release | Не требуются |
Посмотреть эти зависимости можно утилитой Depends.exe.
Среда/Компилятор | Режим | Опции командной строки |
GCC 9.2.0 http://NUWEN.net | Debug | -D _DEBUG -g -ansi -std=gnu++2a -Wc++11-compat -Wc++14-compat -Wc++17-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -Waligned-new -Walloc-size-larger-than=1073741824 -Walloc-zero -Walloca -Walloca-larger-than=8192 -Wcast-align=strict -Wdangling-else -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=2 -Wmissing-attributes -Wmultistatement-macros -Wrestrict -Wshadow=global -Wsuggest-attribute=malloc -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -flto-odr-type-merging -fno-omit-frame-pointer |
Release | -D NDEBUG -O3 -ansi -std=gnu++2a -Wc++11-compat -Wc++14-compat -Wc++17-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -Waligned-new -Walloc-size-larger-than=1073741824 -Walloc-zero -Walloca -Walloca-larger-than=8192 -Wcast-align=strict -Wdangling-else -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=2 -Wmissing-attributes -Wmultistatement-macros -Wrestrict -Wshadow=global -Wsuggest-attribute=malloc -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -flto-odr-type-merging -fno-omit-frame-pointer | |
GCC 8.2.0 http://NUWEN.net | Debug | -D _DEBUG -g -ansi -std=c++17 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -Waligned-new -Walloc-size-larger-than=1073741824 -Walloc-zero -Walloca -Walloca-larger-than=8192 -Wcast-align=strict -Wdangling-else -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=2 -Wmissing-attributes -Wmultistatement-macros -Wrestrict -Wshadow=global -Wsuggest-attribute=malloc -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging -fno-omit-frame-pointer |
Release | -D NDEBUG -O3 -ansi -std=c++17 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -Waligned-new -Walloc-size-larger-than=1073741824 -Walloc-zero -Walloca -Walloca-larger-than=8192 -Wcast-align=strict -Wdangling-else -Wduplicated-branches -Wformat-overflow=2 -Wformat-truncation=2 -Wmissing-attributes -Wmultistatement-macros -Wrestrict -Wshadow=global -Wsuggest-attribute=malloc -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging -fno-omit-frame-pointer | |
GCC 7.2.0 http://NUWEN.net | Debug | -D _DEBUG -g -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging |
Release | -D NDEBUG -O3 -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Walloc-zero -Walloca -Walloca-larger-than=8192 -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wdangling-else -Wduplicated-branches -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Winline -Wlarger-than=8192 -Wvla-larger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wrestrict -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wstringop-overflow=4 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging | |
GCC 6.3.0 http://NUWEN.net | Debug | -D _DEBUG -g -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging |
Release | -D NDEBUG -O3 -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging | |
GCC 5.3.0 http://NUWEN.net | Debug | -D _DEBUG -g -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging |
Release | -D NDEBUG -O3 -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging | |
GCC 5.1.0 TDM-GCC | Debug | -D _DEBUG -g -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging |
Release | -D NDEBUG -O3 -ansi -std=c++14 -Wc++11-compat -Wc++14-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconditionally-supported -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Wopenmp-simd -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wsuggest-final-types -Wsuggest-override -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fsized-deallocation -fstack-check -fstack-protector-all -fstrict-overflow -fchkp-first-field-has-own-bounds -fchkp-narrow-to-innermost-array -flto-odr-type-merging | |
GCC 4.9.2 TDM-GCC | Debug | -D _DEBUG -g -ansi -std=c++11 -Wc++11-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fstack-check -fstack-protector-all -fstrict-overflow |
Release | -D NDEBUG -O3 -ansi -ansi -std=c++11 -Wc++11-compat -Wall -Wextra -Weffc++ -Waggressive-loop-optimizations -Warray-bounds -Wcast-align -Wcast-qual -Wchar-subscripts -Wconversion -Wctor-dtor-privacy -Wempty-body -Wfloat-equal -Wformat=2 -Winline -Wlarger-than=8192 -Wlogical-op -Wmissing-declarations -Wnon-virtual-dtor -Woverloaded-virtual -Wpacked -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-promo -Wstack-usage=8192 -Wstrict-null-sentinel -Wstrict-overflow=2 -Wsuggest-attribute=noreturn -Wswitch-default -Wswitch-enum -Wsync-nand -Wundef -Wunreachable-code -Wunused -Wvariadic-macros -Wno-literal-suffix -Wno-missing-field-initializers -Wnarrowing -Wno-old-style-cast -Wvarargs -fcheck-new -fstack-check -fstack-protector-all -fstrict-overflow | |
CodeBlocks 12.11, GCC 4.8.0 | Debug | -D _DEBUG -g -ansi -std=c++11 -pedantic -Wall -Wextra -Weffc++ -fexceptions -Wcast-align -Wfloat-equal -Winit-self -Winline -Wredundant-decls -Wshadow -Wundef -Wunreachable-code -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wpointer-arith -Wsign-promo -Wcast-qual -Wconversion -Wformat=2 -Wstrict-aliasing -Wswitch-default -Wswitch-enum -Wwrite-strings -Wmissing-declarations -Wmissing-include-dirs -Wlogical-op -Wstrict-null-sentinel -Wstack-usage=8192 |
Release | -D NDEBUG -O3 -ansi -std=c++11 -pedantic -Wall -Wextra -Weffc++ -fexceptions -Wcast-align -Wfloat-equal -Winit-self -Winline -Wredundant-decls -Wshadow -Wundef -Wunreachable-code -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wpointer-arith -Wsign-promo -Wcast-qual -Wconversion -Wformat=2 -Wstrict-aliasing -Wswitch-default -Wswitch-enum -Wwrite-strings -Wmissing-declarations -Wmissing-include-dirs -Wlogical-op -Wstrict-null-sentinel -Wstack-usage=8192 | |
CodeBlocks 12.11, GCC 4.7.2 | Debug | -D _DEBUG -g -ansi -std=c++11 -pedantic -Wall -Wextra -Weffc++ -fexceptions -Wcast-align -Wfloat-equal -Winit-self -Winline -Wredundant-decls -Wshadow -Wundef -Wunreachable-code -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wpointer-arith -Wsign-promo -Wcast-qual -Wconversion -Wformat=2 -Wstrict-aliasing -Wswitch-default -Wswitch-enum -Wwrite-strings -Wmissing-declarations -Wmissing-include-dirs -Wlogical-op -Wstrict-null-sentinel -Wstack-usage=8192 |
Release | -D NDEBUG -O3 -ansi -std=c++11 -pedantic -Wall -Wextra -Weffc++ -fexceptions -Wcast-align -Wfloat-equal -Winit-self -Winline -Wredundant-decls -Wshadow -Wundef -Wunreachable-code -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wpointer-arith -Wsign-promo -Wcast-qual -Wconversion -Wformat=2 -Wstrict-aliasing -Wswitch-default -Wswitch-enum -Wwrite-strings -Wmissing-declarations -Wmissing-include-dirs -Wlogical-op -Wstrict-null-sentinel -Wstack-usage=8192 | |
MSVS 2012 | Debug | /D _DEBUG /Od /Gm /GS /GR /Gd /GF /Oy- /EHsc /RTC1 /RTCc /MP /WX- /TP /ZI /MTd /W4 /analyze /fp:except /fp:precise /Zc:wchar_t /Zc:forScope /sdl /openmp /Qpar- /D WIN32 /D _CONSOLE /D _WINDOWS |
Release | /D NDEBUG /O2 /Gm- /GS /GR /GL /Gd /GF /GT /Gy /Oi /Oy- /Ob2 /Ot /EHsc /MP /WX- /TP /Zi /MT /W4 /analyze /fp:precise /Zc:wchar_t /Zc:forScope /sdl /openmp /Qpar /D WIN32 /D _CONSOLE /D _WINDOWS | |
MSVS 2010 | Debug | /D _DEBUG /Od /Gm /GS /GR /Gd /Oy- /EHsc /RTC1 /RTCc /MP /WX- /TP /ZI /MTd /W4 /analyze /fp:except /fp:precise /Zc:wchar_t /Zc:forScope /D WIN32 /D _CONSOLE /D CODE_ANALYSIS |
Release | /D NDEBUG /O2 /Gm- /GS /GR /GL /Gd /Gy /Oi /Oy- /EHsc /MP /WX- /TP /Zi /MT /W4 /analyze /fp:precise /Zc:wchar_t /Zc:forScope /D WIN32 /D _CONSOLE /D CODE_ANALYSIS |
Эти ключи могут вызывать появление предупреждений для файла TXLib.h
о символе $
, использующемся для отладки, и о директиве #warning
. Они настолько суровы, что могут вызвать Чака Норриса предупреждения даже для файлов стандартных библиотек C++ (вне зависимости от того, используется TXLib.h или нет). При использовании этих ключей могут возникнуть дополнительные зависимости от DLL-файлов.
g++
– в ~1.6 раз, в MS Visual Studio - в ~2.5 раз. См. макросы TX_COMPILED и TX_COMPILING.MinGW
(сканируются папки в C:\MinGW
, C:\MinGW64
, C:\Program Files\MinGW, C:\Program Files (x86)\MinGW).
C:\Program Files (x86)\Qt\Tools).
C:\Program Files\Cygwin\usr\include
и C:\Program Files (x86)\Cygwin\usr\include).
Temp%\~TXSetup.log.
C++0x
для MSVS 2010, MSVS 2012, GCC 4.6.1 и C++11
для GCC 4.7.1 в режиме компиляции -Wall
-Wextra
-Weffc++
(см. таблицу опций компиляторов).= {}
(только для компиляторов MS и GCC версии 4)._TX_IMPORT
переименован _TX_DLLIMPORT, так больше похоже на __declspec (dllimport).Alt+Ctrl+Shift+PrintScreen
, временно отменяющая блокировку обновления окна, см. txBegin().Graphics.h
больше не поддерживается – не нужен он никому.