Вопрос-Ответ (C++)
| |
Kornival | Дата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1 |
The Witcher
Сейчас нет на сайте
| Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.
Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
|
|
| |
Xe[N]o | Дата: Вторник, 10 Апреля 2012, 04:25 | Сообщение # 261 |
частый гость
Сейчас нет на сайте
| Здравствуйте. Помогите пожалуйста, я не отличаюсь очень сильными знаниями C++, но знаю основы. Правда тут я сам справиться не могу (не было надобности использовать структуры в векторах). Компилятор жалуется на вектор.
Заранее благодарен за помощь.
Quote 1>main.obj : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "public: struct TGameObject & __thiscall std::vector<struct TGameObject,class std::allocator<struct TGameObject> >::operator[](unsigned int)" (много букв, жалуется система комментариев) 1>libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW 1>..\Bin\DefenseOfCargo.exe : fatal error LNK1120: 1 unresolved externals
Код: Code struct TGameObject { TPoint2 coord; float angle, frame, koeff;
TGameObject(TPoint2 _coord): coord(_coord), frame(0.f) { koeff = (float)(rand()%1000) / 1000.f; angle = (float)(rand()%360); } };
std::vector<TGameObject> asteroids;
Сообщение отредактировал Xe[N]o - Вторник, 10 Апреля 2012, 04:25 |
|
| |
warzes | Дата: Вторник, 10 Апреля 2012, 06:40 | Сообщение # 262 |
участник
Сейчас нет на сайте
| данный код не при чем. Выложи весь. Проблема в том что не линкуется какая-то стандартная либа (на что тебе говорит libcpmtd.lib(stdthrow.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW)
Мой блог Вики DirectX
|
|
| |
Xe[N]o | Дата: Вторник, 10 Апреля 2012, 06:57 | Сообщение # 263 |
частый гость
Сейчас нет на сайте
| На лишние 3 инклуда внимание можно не обращать. Они пока пустые (на будущее, дабы не забыть ) Забыл сказать, я тут использую движок DGLE2, хотя это и так видно по инклудам. Code #include <Windows.h> #include <vector> #include "DGLE2.h" #include "DGLE2_EXT.h"
#include "Globals.cpp" #include "MainRender.cpp" #include "MainProcess.cpp"
using namespace DGLE2;
ENG_DYNAMIC_FUNC
IEngineCore *pEngineCore = NULL;
void CALLBACK Render(void *pParametr); void CALLBACK Free(void *pParametr); void CALLBACK Process(void *pParametr); void CALLBACK Init(void *pParametr);
uint uiShipWidth, uiShipHeight; TPoint2 stShipCoord; IParticleEmitter *pLeftSoplo = NULL, *pRightSoplo = NULL;
#define SCREEN_WIDTH 1024 #define SCREEN_HEIGHT 768 #define ASTEROID_SIZE 100 #define MAX_STARS 200
TPoint2 stars[MAX_STARS];
IResourceManager *pResourceManager = NULL; IRender *pRender = NULL; IInput *pInput = NULL;
IRender2D *pRender2D = NULL;
IMesh *pMeshAsteroid = NULL; ITexture *pTexAsteroid = NULL, *pTexExplo = NULL, *pTexPlasma = NULL, *pTexShip = NULL, *pTexSpace = NULL; ISoundSample *pSndExplo = NULL, *pSndPlasma = NULL; IBitmapFont *pFntMain = NULL; IMusic *pMusic = NULL; IParticleEffect *pFxFlame = NULL;
struct TGameObject { TPoint2 coord; float angle, frame, koeff;
TGameObject(TPoint2 _coord): coord(_coord), frame(0.f) { koeff = (float)(rand()%1000) / 1000.f; angle = (float)(rand()%360); } };
std::vector<TGameObject> asteroids;
void CALLBACK Init(void *pParametr) { pEngineCore->GetSubSystem(ESS_RESOURCE_MANAGER, (IEngineSubSystem *&)pResourceManager); pEngineCore->GetSubSystem(ESS_RENDER, (IEngineSubSystem *&)pRender); pEngineCore->GetSubSystem(ESS_INPUT, (IEngineSubSystem *&)pInput);
pInput->Configure(ICF_HIDE_CURSOR); pRender->GetRender2D(pRender2D);
#define RESOURCE_PATH "Data.zip|"
pResourceManager->Load(RESOURCE_PATH"asteroid.dmd", (IEngBaseObj*&)pMeshAsteroid); pResourceManager->Load(RESOURCE_PATH"asteroid.jpg", (IEngBaseObj*&)pTexAsteroid); pResourceManager->Load(RESOURCE_PATH"explo.bmp", (IEngBaseObj*&)pTexExplo); pResourceManager->Load(RESOURCE_PATH"plasma.bmp", (IEngBaseObj*&)pTexPlasma); pResourceManager->Load(RESOURCE_PATH"ship.png", (IEngBaseObj*&)pTexShip); pResourceManager->Load(RESOURCE_PATH"space.bmp", (IEngBaseObj*&)pTexSpace); pResourceManager->Load(RESOURCE_PATH"expl.wav", (IEngBaseObj*&)pSndExplo); pResourceManager->Load(RESOURCE_PATH"plasma.wav", (IEngBaseObj*&)pSndPlasma); pResourceManager->Load(RESOURCE_PATH"the_hard_18.dft", (IEngBaseObj*&)pFntMain); pResourceManager->Load(RESOURCE_PATH"music.mid", (IEngBaseObj*&)pMusic); pResourceManager->Load(RESOURCE_PATH"flame.dpt", (IEngBaseObj*&)pFxFlame); pMusic->Play();
for(int i = 0; i < MAX_STARS; i++) stars[i] = TPoint2((float)(rand()%SCREEN_WIDTH), (float)(rand()%SCREEN_HEIGHT));
stShipCoord.x = 512; stShipCoord.y = 650;
pFxFlame->CreateEmitter(pLeftSoplo, false); pFxFlame->CreateEmitter(pRightSoplo, false); pLeftSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth/3 +25, stShipCoord.y + uiShipHeight +64, 0.f)); pRightSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth +40 - uiShipWidth/3, stShipCoord.y + uiShipHeight +64, 0.f));
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
if(GetEngine("DGLE2.dll", pEngineCore)) { pEngineCore->InitializeEngine( NULL, "Cargo Defense", TEngWindow(1024, 768, true), 33, #ifdef _DEBUG EIF_DEFAULT #else EIF_CATCH_UNHANDLED #endif ); pEngineCore->AddProcedure(EPT_INIT, &Init); pEngineCore->AddProcedure(EPT_RENDER, &Render); pEngineCore->AddProcedure(EPT_PROCESS, &Process); pEngineCore->AddProcedure(EPT_FREE, &Free); pEngineCore->StartEngine();
FreeEngine(); }
else MessageBoxA(NULL,"Couldn't load \"DGLE2.dll\"!", "Cargo Defense", MB_OK | MB_ICONERROR);
return 0; }
uint uiCounter = 0; bool bIsGame = false;
void ProcessTitle() { for(uint i = 0; i < uiCounter % 5; i++) stars[rand()%MAX_STARS] = TPoint2((float)(rand()%SCREEN_WIDTH), (float)(rand()%SCREEN_HEIGHT));
pInput->GetKey(KEY_SPACE, bIsGame); }
void RenderTitle() { pTexSpace->Draw2D(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
for(int i = 0; i < MAX_STARS; i++) pRender2D->DrawPoint(stars[i], TColor4(), 2);
const char txt_1[] = "Brave Spaceship", txt_2[] = "Press \"Space\" to start!"; uint w, h; pFntMain->SetScale((float)(2.f + sin((float)uiCounter/5.f)*0.25)); pFntMain->GetTextDimensions(txt_1, w, h); pFntMain->Draw2D((SCREEN_WIDTH - w)/2, 100, txt_1);
pFntMain->SetScale(1.f); pFntMain->GetTextDimensions(txt_2, w, h); pFntMain->Draw2D((SCREEN_WIDTH - w)/2, SCREEN_HEIGHT - 200, txt_2); }
void ProcessGame() { for(int i = 0; i < MAX_STARS; i++) { if(i < MAX_STARS/2) stars[i].y += 2.5; else stars[i].y += 3.5;
if(stars[i].y > SCREEN_HEIGHT) stars[i].y = 0; }
bool key_pressed;
pInput->GetKey(KEY_A, key_pressed); if(key_pressed) { stShipCoord.x -= 4; if(stShipCoord.x < 0) stShipCoord.x = 0; }
pInput->GetKey(KEY_D, key_pressed); if(key_pressed) { stShipCoord.x += 4; if(stShipCoord.x + uiShipWidth > SCREEN_WIDTH) stShipCoord.x = SCREEN_WIDTH - uiShipWidth; }
pLeftSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth/3 +25, stShipCoord.y + uiShipHeight +64, 0.f)); pRightSoplo->SetPosition(TPoint3(stShipCoord.x + uiShipWidth - uiShipWidth/3 +40, stShipCoord.y + uiShipHeight +64, 0.f));
if(rand() % 20 == 10) asteroids.push_back(TGameObject(TPoint2((float)(rand()%SCREEN_WIDTH), -ASTEROID_SIZE)));
int i = 0; while(i < (int)asteroids.size()) { asteroids[i].coord.y += 5.f - asteroids[i].koeff; asteroids[i].angle += 2.f;
if(asteroids[i].coord.y - ASTEROID_SIZE > SCREEN_HEIGHT) { asteroids.erase(asteroids.begin() + i); i--; }
i++; }
}
void RenderGame() { pTexSpace->Draw2D(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
for(int i = 0; i < MAX_STARS; i++) pRender2D->DrawPoint(stars[i], TColor4(), 2);
pTexShip->Draw2DSimple((int)stShipCoord.x, (int)stShipCoord.y); pFxFlame->Draw2D();
for(uint i = 0; i < asteroids.size(); i++) { pRender2D->DrawMesh(pMeshAsteroid, pTexAsteroid, asteroids[i].coord, TPoint3(ASTEROID_SIZE*asteroids[i].koeff, ASTEROID_SIZE*asteroids[i].koeff, ASTEROID_SIZE*asteroids[i].koeff), TPoint3(asteroids[i].koeff, 0.2f, 0.5f), asteroids[i].angle, false); } }
void CALLBACK Process(void *pParametr) { if(bIsGame) ProcessGame(); else ProcessTitle();
bool key_pressed; pInput->GetKey(KEY_ESCAPE, key_pressed); if(key_pressed) pEngineCore->QuitEngine(); uiCounter++; }
void CALLBACK Render(void *pParametr) { pRender2D->Begin2D();
if(bIsGame) RenderGame(); else RenderTitle();
pRender2D->End2D(); }
void CALLBACK Free(void *pParametr) { pFxFlame->KillAllEmitters(); }
|
|
| |
goldsphere | Дата: Вторник, 10 Апреля 2012, 12:56 | Сообщение # 264 |
заслуженный участник
Сейчас нет на сайте
| Подскажите, какое применение у указателей в создании игр или просто работе программиста?
FinderX - Android Аркада
|
|
| |
vasua99 | Дата: Вторник, 10 Апреля 2012, 17:09 | Сообщение # 265 |
GNU follower
Сейчас нет на сайте
| гибкость это раз 1,в стеке может быть до 1 мб данных(в винде),а в куче может быть сколько угодно(в пределах размера памяти)
Жизнь игра, и мы в ней пешки... А я кушаю пельмешки)
|
|
| |
Xe[N]o | Дата: Среда, 11 Апреля 2012, 09:11 | Сообщение # 266 |
частый гость
Сейчас нет на сайте
| Не хочу показаться навязчивым, но у меня разработка стоит...))
|
|
| |
Faeton | Дата: Среда, 11 Апреля 2012, 10:23 | Сообщение # 267 |
частый гость
Сейчас нет на сайте
| по поводу кода struct TGameObject { TPoint2 coord; float angle, frame, koeff;
TGameObject(TPoint2 _coord): coord(_coord), frame(0.f) { koeff = (float)(rand()%1000) / 1000.f; angle = (float)(rand()%360); } }; вы уверены, что при определении структуры TGameObject можно использовать в качестве поля объект TGameObject? короче, поле не должно быть TGameObject. выход: использование указателей
|
|
| |
Xe[N]o | Дата: Среда, 11 Апреля 2012, 11:21 | Сообщение # 268 |
частый гость
Сейчас нет на сайте
| Кстати да, что-то я тут не заметил это... Просто по уроку делал, движок осваиваю. Спасибо огромное за помощь.)
|
|
| |
Тритон | Дата: Воскресенье, 15 Апреля 2012, 14:41 | Сообщение # 269 |
постоянный участник
Сейчас нет на сайте
| Quote Компилятор: Default GCC compiler Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win" Выполнение make... mingw32-make.exe -f "Makefile.win" all g++.exe "Objects/MingW/SeaJackals.o" -o "Output/MingW/SeaJackals.exe" -L"C:/Program Files (x86)/Dev-Cpp/Lib" -mwindows -lwxmsw28 -lwxmsw28_gl -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregex -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32 mingw32-make.exe: *** [Output/MingW/SeaJackals.exe] Error 1 Выполнение завершено Compilation Failed. Make returned 2 Как с этим бороться?Добавлено (15.04.2012, 14:08) ---------------------------------------------
Quote (clidi) TimKruz, Дело в том, что это упражнение находится до глав про массивы. Конечно твой вариант хорош, но есть идеи как это сделать без массивов? Это как? Поиск в массиве без самого массива? Бред полный.Добавлено (15.04.2012, 14:23) ---------------------------------------------
Quote (SWFcreator) Спасибо, но new категорически не подходит. Для var еще не раз будет вызываться realloc(), а я слышал, она не работает с памятью, выделенной new, да и с ним встает точно та же проблема. realloc не может вызвать конструкторы/деструкторы. Поэтому заверни свой указатель в класс-контейнер и юзай метод resize, в котором создавай по new буфер, потом в цикле копируй все существующие и сохраняемые элементы, в конце delete [] на основной указатель, потом ему присваиваешь свой буфер.Добавлено (15.04.2012, 14:24) ---------------------------------------------
Quote (0x90) Тогда никак. malloc-оператор языка С, а в С никаких классов(а значит и конструкторов) нет. Сожалею Бред несёшь. Это не оператор, а функция.Добавлено (15.04.2012, 14:29) ---------------------------------------------
Quote (0x90) Знаете, честно говоря это маразм. Размер класса не меняется динамически, для указателей на классы нет необходимости вызывать realloc Ещё бредовее. Основное назначение переменных-указателей - динамические контейнеры: массивы, списки, деревья. Класс же контейнера имеет переменный размер данных. Стандартный класс string прочитай - узнаешь много нового. И меняется не размер объекта, а количество объектов.Добавлено (15.04.2012, 14:35) ---------------------------------------------
Quote (Батлфилдер) switch (choose); { case 1: cout << "Текст";break; case 2: cout << "Текст";break; сase 3: cout << "Проигрыш";break; default: cout << "Текст"; }
VStudio пишет в списке ошибок: 1|error C2046 недопустимый вариант выбора 2|error C2046 недопустимый вариант выбора 3|error C2046 недопустимый вариант выбора 4|error C2043 недопустимый break 6|error C2043 недопустимый break 9|error C2043 недопустимый break 8|error C2047 недопустимый вариант, используемый по умолчанию
Почему? Quote (Батлфилдер) switch (choose); { case 1: cout << "Текст";break; case 2: cout << "Текст";break; сase 3: cout << "Проигрыш";break; default: cout << "Текст"; }
VStudio пишет в списке ошибок: 1|error C2046 недопустимый вариант выбора 2|error C2046 недопустимый вариант выбора 3|error C2046 недопустимый вариант выбора 4|error C2043 недопустимый break 6|error C2043 недопустимый break 9|error C2043 недопустимый break 8|error C2047 недопустимый вариант, используемый по умолчанию
Почему? Потому что switch - не завершённый оператор, ему не нужна точка с запятой, как и for, if, else.Добавлено (15.04.2012, 14:41) ---------------------------------------------
Quote (xPFaN) А так же привык в Basic вводить переменные Dim. Возможно ли приравнять int к Dim и вводить переменные посредством Dim? А куда ты засунешь as double, например? c++ для сионистов, если не можешь освоить его синтаксис, то не пиши.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
SWFcreator | Дата: Воскресенье, 15 Апреля 2012, 14:42 | Сообщение # 270 |
участник
Сейчас нет на сайте
| Quote (Тритон) realloc не может вызвать конструкторы/деструкторы. Поэтому заверни свой указатель в класс-контейнер и юзай метод resize, в котором создавай по new буфер, потом в цикле копируй все существующие и сохраняемые элементы, в конце delete [] на основной указатель, потом ему присваиваешь свой буфер. Спасибо, я уже писал свой realloc таким методом, но потом поближе познакомился со string и понял, что за меня уже все сделано.
|
|
| |
Тритон | Дата: Понедельник, 16 Апреля 2012, 07:22 | Сообщение # 271 |
постоянный участник
Сейчас нет на сайте
| Quote (masb8ly-GC) Здравствуйте! Вопрос такого характера. Как прочитать текст из файла ровно до конца файла и не символом больше? Вопрос не в этом, а в том, как ты умудрился прочитать больше.Добавлено (15.04.2012, 14:48) ---------------------------------------------
Quote (RomanNVKZ) В том то и проблема, что компилятор не даёт мне этого сделать... Открой его пабликом.Добавлено (15.04.2012, 14:52) ---------------------------------------------
Quote (Gavolot) Люди C++ только изучаю, наконец все подготовил и Dev C++ и книги по самому языку, так-вот на будущее, чисто любопытственный вопрос. А на C++ можно будет писать на любые платформы без проблем, только лишь то что язык сложнее или там будут (я просто плохо себе это представляю) проблемы с выискиванием того-же Java байт кода и т.п.? А на бейсике надо вспоминать сёвые спецификаторы функции спринтф. А на паскале в реализации для интелла - мнемоники ассемблера для спектрума. Как вообще c++ связан с кодами другого языка?Добавлено (16.04.2012, 07:22) ---------------------------------------------
Quote Компилятор: Default GCC compiler Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win" Выполнение make... mingw32-make.exe -f "Makefile.win" all g++.exe "Objects/MingW/SeaJackals.o" -o "Output/MingW/SeaJackals.exe" -L"C:/Program Files (x86)/Dev-Cpp/Lib" -mwindows -lwxmsw28 -lwxmsw28_gl -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregex -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lopengl32 mingw32-make.exe: *** [Output/MingW/SeaJackals.exe] Error 1 Выполнение завершено Compilation Failed. Make returned 2 Как с этим бороться?
Не всё так плохо, как оно есть на самом деле.
|
|
| |
Нохчи | Дата: Понедельник, 16 Апреля 2012, 07:25 | Сообщение # 272 |
заслуженный участник
Сейчас нет на сайте
| Quote (Тритон) Как с этим бороться? Настроить правильно среду Конкретнее по этому логу ничего сказать нельзя.
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Понедельник, 16 Апреля 2012, 07:25 |
|
| |
Тритон | Дата: Понедельник, 16 Апреля 2012, 08:36 | Сообщение # 273 |
постоянный участник
Сейчас нет на сайте
| Quote (Нохчи) Настроить правильно среду Думаешь, я сам до этого не допёр? Quote (Нохчи) Конкретнее по этому логу ничего сказать нельзя. А зачем тогда постишь? Не можешь сразу сказать, что именно надо исправить, скажи, откуда начинать поиск проблемы, какие нужны окна, файлы.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Понедельник, 16 Апреля 2012, 08:36 |
|
| |
Нохчи | Дата: Вторник, 17 Апреля 2012, 05:36 | Сообщение # 274 |
заслуженный участник
Сейчас нет на сайте
| Для начала очисти проект и попробуй собрать заново(rebuild). При создании проекта юзал темплейт? Quote (Тритон) "C:/Program Files (x86)/Dev-Cpp/Lib Библиотеки wxWidgets лежат в этой директории?
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Вторник, 17 Апреля 2012, 05:42 |
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 07:13 | Сообщение # 275 |
постоянный участник
Сейчас нет на сайте
| Quote (Нохчи) При создании проекта юзал темплейт? Вот всё, что в нём написано: Code //================================================================================================= #include <windows.h> //================================================================================================= bool InitApplication ( ); //================================================================================================= int WINAPI WinMain (HINSTANCE Instance , HINSTANCE Previus , LPSTR CommandLine, int Show ) { if (InitApplication()) { } return 0; } //================================================================================================= bool InitApplication ( ) { return true; } //================================================================================================= , причём, в проект этот файл добавлен.
Добавлено (17.04.2012, 07:09) --------------------------------------------- Quote (Нохчи) Библиотеки wxWidgets А что это такое?
Добавлено (17.04.2012, 07:11) --------------------------------------------- Quote (Нохчи) Для начала очисти проект Quote Компилятор: Default GCC compiler Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win" Выполнение make clean rm -f "Objects/MingW/SeaJackals.o" "Output/MingW/SeaJackals.exe"
mingw32-make.exe: *** [clean] Error 1
Выполнение завершено Compilation Failed. Make returned 2 Добавлено (17.04.2012, 07:13) ---------------------------------------------
Quote (Нохчи) попробуй собрать заново(rebuild). Quote Компилятор: Default GCC compiler Building Makefile: "C:\Projects\cpp\dev\SeaJackals\Makefile.win" Выполнение make clean rm -f "Objects/MingW/SeaJackals.o" "Output/MingW/SeaJackals.exe"
mingw32-make.exe: *** [clean] Error 1
Выполнение завершено Compilation Failed. Make returned 2
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 07:12 |
|
| |
Нохчи | Дата: Вторник, 17 Апреля 2012, 07:24 | Сообщение # 276 |
заслуженный участник
Сейчас нет на сайте
| Quote (Тритон) А что это такое? Библиотека для создания GUI, из твоего лога видно, что ты пытаешься подключить ее к проекту. А вот то, что не удается очистить проект очень странно. У тебя "hello world" собирается? Что ты пишешь(консольное приложение или ГУИ)?
Многие вопросы по Windows отпадут, если посмотреть тут
Сообщение отредактировал Нохчи - Вторник, 17 Апреля 2012, 07:25 |
|
| |
Тритон | Дата: Вторник, 17 Апреля 2012, 14:57 | Сообщение # 277 |
постоянный участник
Сейчас нет на сайте
| Quote (Нохчи) У тебя "hello world" собирается? Он для меня слишком сложен. И посмотри ка исходник. Где там гуй?
Добавлено (17.04.2012, 14:57) --------------------------------------------- Quote (Нохчи) Что ты пишешь(консольное приложение или ГУИ)? Ну в принципе гуй, но пока там нет даже создания окна. Почти пустой Winmain + ещё одна совсем пустая функция.
Не всё так плохо, как оно есть на самом деле.
Сообщение отредактировал Тритон - Вторник, 17 Апреля 2012, 14:59 |
|
| |
Нохчи | Дата: Вторник, 17 Апреля 2012, 15:11 | Сообщение # 278 |
заслуженный участник
Сейчас нет на сайте
| Quote Он для меня слишком сложен. Имелось ввиду, у тебя обычные консольные приложения сделанные не на темплейтах собираются? Quote И посмотри ка исходник. Где там гуй? WinMain - точка входа гуевых приложений.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
Тритон | Дата: Среда, 18 Апреля 2012, 07:09 | Сообщение # 279 |
постоянный участник
Сейчас нет на сайте
| Quote (Нохчи) Имелось ввиду, у тебя обычные консольные приложения сделанные не на темплейтах собираются? А ты думаешь, я умею писать консольные подоконники?Добавлено (18.04.2012, 07:09) ---------------------------------------------
Quote (Нохчи) WinMain - точка входа гуевых приложений. Ты думаешь, что я этого не знаю? Но сам гуй ещё не прописан.
Не всё так плохо, как оно есть на самом деле.
|
|
| |
Нохчи | Дата: Среда, 18 Апреля 2012, 16:51 | Сообщение # 280 |
заслуженный участник
Сейчас нет на сайте
| Quote (Тритон) А ты думаешь, я умею писать консольные подоконники? Хе-хе, забавно выглядит, когда человек не понимающий самых основ пытается острить
Quote (Тритон) Ты думаешь, что я этого не знаю? Но сам гуй ещё не прописан. Плевать что там прописано, вопрос о ключе линкера /SUBSYSTEM.
Судя по ответам помощь больше не нужна.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
|