Member
Статус: Не в сети Регистрация: 12.09.2010 Откуда: Калининград
ReXaN, возможно, лучше всё-таки отказаться тогда от идеи создания интерфейсов на С++ и сразу перейти к играм? Для создания гуя для С++ библиотек море, как я написал, чего-то общепринятого высокого качества просто не существует, в то же время в программировании графики ситуация совсем иная, С++ для этого подходит как никакой другой язык, существует отличная библиотека Direct2D, которую и можно было бы использовать для создания 2д игры, при желании можно даже Direct3D 11 попробовать( его же обычно просто называют "DirectX 11" ), по нему я даже сразу могу отличную книгу порекомендовать для начинаний с нуля: "Introduction to 3D Game Programming with DirectX 11" by Frank Luna
ReXaN писал(а):
ПС: Хотел изучить С++, а потом JavaScript.
Нормальный план, хотел бы только отметить, что стоит убедиться, что при обучении используется как можно наиболее актуальная литература, оба языка активно развиваются и то, что вы можете найти по ним, может быть уже устаревшим. Для С++ сейчас актуален стандарт С++14 и, можно сказать, уже на подходе С++17. Даже по сравнению с С++03, по которому наверняка вы и найдёте большинство литературы, это огромная разница. С++14 и С++11 здорово упрощают жизнь, не использовать их фичи сейчас было бы просто глупо в большинстве случаев
Добавлено спустя 24 минуты 51 секунду:
ReXaN писал(а):
Code::Block, в котором я учусь кодить
И да, смысл использовать Code::Blocks под Windows, когда есть бесплатная Visual Studio?
Member
Статус: Не в сети Регистрация: 29.11.2008 Откуда: Санкт-Петербург Фото: 8
Industrialice писал(а):
"Introduction to 3D Game Programming with DirectX 11" by Frank Luna
Спасибо, поищу. У меня есть по DX: Visual C++ 2005, DirectX 9.0c и Microsoft Agent в компьютерной графике, мультимедиа и играх (В. Жарков) DirectX и C++. Искусство программирования (Михаил Фленов, 2006)
Industrialice писал(а):
Для С++ сейчас актуален стандарт С++14 и, можно сказать, уже на подходе С++17. Даже по сравнению с С++03, по которому наверняка вы и найдёте большинство литературы, это огромная разница.
Есть такое. Я сначала прочитал книжку 2012 года, потом несколько статей в нете, чтобы понять то что было непонятно, потом прочитал книжку 2000 года и одновременно просмотрел курс на ютубе от Denis Markov - Уроки по C++ (2013 год, 28 уроков) Тут Вот он далее начал курс по графическому интерфейсу на примере Qt, но уроки 2013-2014 года и тогда Qt можно было спокойно скачать с официального сайта и похоже без регистрации.
Industrialice писал(а):
И да, смысл использовать Code::Blocks под Windows, когда есть бесплатная Visual Studio?
Ну, пока устраивает, для обучения подходит. VS нужно регистрировать через 30 дней, хоть это и бесплатно, да и я, зареган в live ID, хоть это и было давно... Короче может потом .
В общем буду дальше изучать, там и понятнее будет. Мне просто нравится что-то создавать, фиг знает почему, а само программирование довольно интересно, да и соображать заставляет .
_________________ Freedom is not free. Rights are not Gifts from Government! Настоящая сила идет не столько от боевых навыков, сколько от достоинства и самоуважения
Member
Статус: Не в сети Регистрация: 12.09.2010 Откуда: Калининград
ReXaN писал(а):
Visual C++ 2005, DirectX 9.0c и Microsoft Agent в компьютерной графике, мультимедиа и играх (В. Жарков) DirectX и C++. Искусство программирования (Михаил Фленов, 2006)
Не, учить DX9 только потому, что книжка есть, точно не стоит. Кому он может сегодня понадобиться? С DX11 куда приятнее работать, пускай он немного и посложнее пожалуй
ReXaN писал(а):
Denis Markov - Уроки по C++ (2013 год, 28 уроков) Тут
Я пролистал немного 28-ой урок, и просто отметил бы, что не стоит всё на веру воспринимать, что он говорит, насколько я понял, он сам ещё новичёк. Из конкретных примеров - он, например, вроде и использует С++11, но при этом зачем-то рассказал про auto_ptr, при том, что в С++11 auto_ptr считается устаревшим и строго противопоказанным к использованию, совершенно ничего не упомянул( не увидел ничего на эту тему ) про unique_ptr и shared_ptr, одни из ключевых составляющих современного С++. Он также сказал, что string.at() аналогичен string.operator[]() и используйте что вам удобно, это просто неверно. Примеров там наверняка куда больше, просто я 50+ минут уместил в примерно 2 и это то, что мне встретилось. Собственно, в той же книжке Фрэнка Луны, тоже много ошибок и иногда просто глупостей( самая большая - он использует FX для работы с шейдерами, этого делать точно не стоит, не стоит повторять за автором ). Как обычно с обучением, главная проблема - ненадёжность информации, к сожалению
ReXaN писал(а):
Мне просто нравится что-то создавать, фиг знает почему, а само программирование довольно интересно, да и соображать заставляет .
Главное, побыстрее от hello world перейти к чему-то существенному, по-моему. Большой удачей было бы найти какой-то проект оплачиваемый, даже если деньги несерьёзные, практический опыт просто не сравнить с этими лабараторными программками. Это вполне можно было бы сравнить с обучением вождению автомобиля и с разницей между ездой по площадке и по городу
member+
Статус: Не в сети Регистрация: 16.01.2004 Откуда: Estonia,Tallinn
Industrialice писал(а):
он сам ещё новичёк
Одна из главных проблем в программировании, каждый освоивший "hello world" лезет учить. Найти хорошую книгу (хорошего программиста и не менее важно хорошего педагога) это большая удача. Те кто начинают с быдлокода, обычно берут очень быстрый старт, но дальше старта дело не движется. (Переучиваться сложнее чем начинать с нуля.)
Допустим у меня три файла main.cpp, file.cpp и file.h. Если я добавлю в main.cpp #include "file.h" он автоматически при компиляции main.cpp же должен найти и file.cpp так? Но почемуто выдается ошибка LNK2019, что не правильно?
Member
Статус: Не в сети Регистрация: 01.05.2007 Откуда: Тель-Авив Фото: 1
vault9 писал(а):
Допустим у меня три файла main.cpp, file.cpp и file.h. Если я добавлю в main.cpp #include "file.h" он автоматически при компиляции main.cpp же должен найти и file.cpp так? Но почемуто выдается ошибка LNK2019, что не правильно?
Не должен он найти file.cpp. Надо скомпилировать оба .cpp файла и потом их слинковать. Как - зависит от компилятора/среды разработки.
Member
Статус: Не в сети Регистрация: 05.12.2005 Откуда: портовый город
dinkyjs30 писал(а):
Вот интересно, эта книга уже устарела? Год издания 2001. По ней можно учится чему-то? Или ее лучше выкинуть? Буду рад, если ответите. Спасибо за внимание.
Выкидывать, но в контейнер для бумаги/картона. "Подробно описаны способы применения мастеров, используемых при разработке приложений различного уровня" - это вообще никто не использует в реальной жизни.
member+
Статус: Не в сети Регистрация: 16.01.2004 Откуда: Estonia,Tallinn
Так со всеми языками происходит. Мода такая. Если язык становится слишком популярным его превращают в УГ чтоб народ уходил на другие более новые языки а оставались только самые упоротые.
Member
Статус: Не в сети Регистрация: 20.09.2005 Откуда: Москва
Добрый день. Есть вопрос. Давно не программировал на С++, начал вспоминать основы. Помогите разобраться. Имеется такой код (синтаксис взял из книги дословно) позволяет рисовать геометрическую фигуру
Код:
value struct Point3D { float X; float Y; float Z; Point3D(float x, float y, float z) { X = x; Y = y; Z = z; } }; value struct Figure { Point3D Base; array <Point3D, 1> ^Vertices; array <int, 2> ^Edges; int Count; }; void DrawFig(PictureBox^ pBox, Figure%fig) { Pen ^P = gcnew Pen(Color::Red); Graphics ^G = Graphics::FromImage(pBox->Image); for (int i = 0; i < fig.Count - 1; ++i) for (int j = i + 1; j < fig.Count; ++j) if (fig.Edges[i, j]) { G->DrawLine(P, fig.Base.X + fig.Vertices[i].X, fig.Base.Y + fig.Vertices[i].Y, fig.Base.X + fig.Vertices[j].X, fig.Base.Y + fig.Vertices[j].Y); } pBox->Invalidate(); }
Что такое Figure%fig? Что такое знак %? Полистал учебники, кроме остатка от деления ничего не нашел, но причем он тут. Подскажите. Спасибо.
Member
Статус: Не в сети Регистрация: 20.09.2005 Откуда: Москва
Наверное оно
"Project7.exe" (Win32). Загружено "E:\Visual Studio\C++\Projects\Project7\Debug\Project7.exe". Символы загружены. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\mscoree.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\ucrtbased.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-localization-l1-2-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-processthreads-l1-1-1.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-file-l1-2-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-timezone-l1-1-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-file-l2-1-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-synch-l1-2-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\vcruntime140d.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\advapi32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcrt.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\sechost.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\rpcrt4.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\sspicli.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\cryptbase.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\shlwapi.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\gdi32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\user32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\lpk.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\usp10.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\imm32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\msctf.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\nvinit.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\version.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr120_clr0400.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\97e047cf68e9a7d90e196d072cd49cac\mscorlib.ni.dll". "Project7.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\ole32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\uxtheme.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (CLR v4.0.30319: DefaultDomain). Загружено "E:\Visual Studio\C++\Projects\Project7\Debug\Project7.exe". Символы загружены. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\api-ms-win-core-xstate-l2-1-0.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\oleaut32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\Framework\v4.0.30319\diasymreader.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System\e071297bb06faa961bef045ae5f25fdc\System.ni.dll". "Project7.exe" (CLR v4.0.30319: DefaultDomain). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Drawing\61dfb69c9ad6ed96809170d54d80b8a6\System.Drawing.ni.dll". "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Windows.Forms\2dc6cfd856864312d563098f9486361c\System.Windows.Forms.ni.dll". "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll". "Project7.exe" (Win32). Выгружено "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll" "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Core\21a1606b6c00f9abe7db55c02e0f87c9\System.Core.ni.dll". "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Configuration\cd03f9386e02f56502e01a25ddd7e0a7\System.Configuration.ni.dll". "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml\7c8f75f367134a030cba4a127dc62a2f\System.Xml.ni.dll". "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll". Загрузка символов пропущена. Модуль оптимизирован, включен параметр отладчика "Только мой код". "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\shell32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\profapi.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\bcrypt.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\cryptsp.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\rsaenh.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18837_none_ec86b8d6858ec0bc\comctl32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d\comctl32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\dwmapi.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.23688_none_5c0a8e35a00adeb9\GdiPlus.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\ole32.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Выгружено "C:\Windows\SysWOW64\ole32.dll" "Project7.exe" (Win32). Загружено "C:\Windows\SysWOW64\RpcRtRemote.dll". Невозможно найти или открыть PDB-файл. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll". Сборка модуля выполнена без символов. "Project7.exe" (Win32). Загружено "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll". Сборка модуля выполнена без символов. "Project7.exe" (Win32). Выгружено "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll" "Project7.exe" (CLR v4.0.30319: Project7.exe). Загружено "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\mscorlib.resources.dll". Сборка модуля выполнена без символов. Поток 0x2d78 завершился с кодом 0 (0x0). Поток 0x25f8 завершился с кодом 0 (0x0). Поток 0x2d14 завершился с кодом 0 (0x0). Поток 0x2d60 завершился с кодом 0 (0x0). Поток 0x23a0 завершился с кодом 0 (0x0). Поток 0x1758 завершился с кодом 0 (0x0). Поток 0x2e08 завершился с кодом 0 (0x0). Поток 0x28ac завершился с кодом 0 (0x0). Поток 0x18d0 завершился с кодом 0 (0x0). Поток 0x2d1c завершился с кодом 0 (0x0). Поток 0x1700 завершился с кодом 0 (0x0). Программа "[8492] Project7.exe" завершилась с кодом 0 (0x0).
Member
Статус: Не в сети Регистрация: 20.09.2005 Откуда: Москва
Пишу в Visual Studio 2017 C++ в Windows Form. Хотел написать программу отрисовки каркасной модели куба и работу с ней перемещение, вращение, масштабирование. Работаю с методичкой https://profhelp.net/4577025/ (последние страницы). Просто добавил указанные функции, структуры и начал разбираться, возник ряд вопросов один из которых я и задал.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения