Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Построить таблицу и вычислить сумму значений функции Помогите решить, пожалуйста. Задачу и формулы надо переписывать! Редактор формул внизу страницы. https://www.cyberforum.ru/ cpp-beginners/ thread1363536.html C++ Как откладчики и дебагеры распознают строки асм кода?
Вопрос таков как откладчики и дебагеры распознают строки асм кода? Пишу программу которая расчитывает овсеты с программы и иногда когда офсета (нет или попросту 0) он продолжает считать подскажите как исправить это
C++ Как компилировать в Code::Blocks? https://www.cyberforum.ru/ cpp-beginners/ thread1363495.html
На самом деле ерунда, просто для меня( как для новичка трудно). Я прохожу обучение по книжке "С++ за 21 день"( уже понял, что за 21 - это бред), в книжке автор использует Microsoft Visual C++, но у меня при установке выскакивает ошибка( скачан с офф. сайта Майкрософт), поэтому я использую в качестве компилятора, компоновщика, текстового редактора - Code::Blocks. Дело в том что, каждый раз когда я...
C++ Работа с потоком (управление, защита) https://www.cyberforum.ru/ cpp-beginners/ thread1363489.html
Всем добрый день) Требуется момощь для розбора роботы с потоками, создание потока, защита остановка заморозка перезапуск и т.д.... Так же хотелось бы попросить немного литературы/статей по поводу защиты потока от остановки стандартными средствами/защиты от остановки. Инжектирования(включая реализацию 3-х способов) своих библиотек в процесс/программу, ЗАщита от такого инжекта, и снова обход нашей...
Удаление повторяющихся элементов в векторе C++
Нужно перегрузить унарный оператор ~ что бы он удалял повторяющиеся элементы в векторе vector& operator ~ () { if (count > 0) { for (int i = 0; i < count; i++) for (int j = 0; j < count; j++) { if (data == data)
C++ Анализ почтового ящика и писем по критериям и сообщение на телефон Доброго времени суток. Начал изучать с++ по книге "объектно-ориентированное программирование в с++ 4 издание Р.ЛаФоре". Вопрос : Хочу на писать программу например которая анализировала почтовый ящик и письма по критериям и сообщала мне на телефон. Хватает ли c++ возможностей для на писания такой программы или на до изучать дугой язык программирования ? За ранее спасибо ! https://www.cyberforum.ru/ cpp-beginners/ thread1363484.html
C++ Подстрока в пределах от M до N https://www.cyberforum.ru/ cpp-beginners/ thread1363479.html
помогите пож преобразовать в с++,за ранее спасибо Var i,m,n:byte; a,b:string; begin write('Введите слово'); readln(a); write('Введите значения m и n'); readln(m,n); b:='';
Ошибка при повторном запуске: terminate called after throwing an instance of 'std::ios_base::failure' C++
Здравствуйте, вот этот кусок кода(дан ниже) при повторном запуске программы выдает ошибку: terminate called after throwing an instance of 'std::ios_base::failure' what(): basic_ios::clear Я так понимаю нужно очистить буфер ошибок что я и делаю content.clear(); pageHead.clear(); но тем не менее ошибка все равно остаётся. Это моя первая программа так что готов к любой критике. Собирается под...
C++ По поводу библиотек и их подключения https://www.cyberforum.ru/ cpp-beginners/ thread1363435.html
Добрый день, нужна помощь в подключении библиотеки. Я пишу свою библиотечку, получаю 2 файла mylib.cpp и mylib.h , если кидать в папку исходного проекта, то всё работает,но что нужно сделать, чтобы я кидал в любую папку файлы mylib.cpp mylib.h и все работало? Например файлы лежат в папке D:\Qt\Qt5.3.2\Tools\mingw482_32\MyCppLibs. Среда codeblocks. Добавлено через 52 минуты Например код...
C++ Оптимизация программы нахождения медианы массива Всем доброй ночи. Мне надо было написать программку, которая выводит медиану массива - перелистал много тем, но так и не нашел нормального решения. Пару часов упорных размышлений и вот, сделал :victory:. Оцените, возможно ли ее как-то оптимизировать? #include "stdafx.h" #include "conio.h" #include "iostream" using namespace std; void Bubble(int N, int *p) https://www.cyberforum.ru/ cpp-beginners/ thread1363434.html
C++ Не получается удалить элементы из первого вектора, которые есть во втором
Нужно перегрузить оператор - что-бы удаляло из первого вектора елементы которые есть во втором #include "stdafx.h" #include <conio.h> #include <iostream> #include <string> using namespace std; typedef unsigned int uint;
C++ Преобразовать массив, чтобы сначала располагались все положительные элементы, а потом все отрицательные Помогите исправить ошибку, пожалуйста. Тут 3 задания в одном, ошибка в третьем. Задача 3: Из общего задания: "Примечание 1: если в задании сказано, что нужно массив преобразовать (!) (а не упорядочить), то при перемещении элементов в какую-то одну другую часть массива они должны сохранять исходный порядок по отношению друг к другу. Т.е., если массив, например, был такой: {-5.2, 3, -1.5, 10, ...
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
0

Точка входа отличная от main/WinMain - C++ - Ответ 7158420

28.01.2015, 09:40. Показов 7418. Ответов 32
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Случайно наткнулся на код и прямо-таки заинтересовало:
Существует еще один вид стартовой функции, о котором, судя по всему, не знает по меньшей мере половина программистов, пишущих для Windows. Суть проблемы заключается вот в чем – на самом деле, во время компиляции приложения, кроме написанного программистом кода компилятор вставляет свой собственный код, который инициализирует всякие интересные штуки и только когда сочтет нужным – то передает управление функциям main/WinMain. Сам добавляемый код можно посмотреть в файле <пусть к установленной VS>/VC/crt/src/crt0.c.
Так как в некоторых случаях этот код совершенно не нужен, то я покажу, как от него обычно избавляются, а заодно – как можно рисовать, не создавая своего окна, прямо поверх рабочего стола и окон других приложений. Итак, создаем новый проект HelloWorld3, все абсолютно аналогично прежним. После создания добавляем main.c со следующим кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#define STRICT
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#pragma comment (linker,"-merge:.rdata=.text")
const CHAR szMessage[]="Hello, world!";
 
void CenterText(HDC hDC,int x,int y,LPCTSTR szMessage,int point)
{
    HFONT hFont=CreateFont(
        point * GetDeviceCaps(hDC, LOGPIXELSY) / 60,
        0, 370, 0, FW_BOLD, TRUE, FALSE, FALSE,
        RUSSIAN_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS,
        PROOF_QUALITY, VARIABLE_PITCH, "Times New Roman");  // Создаем новый шрифт
    HGDIOBJ hOld = SelectObject(hDC, hFont);    // Сохраняем старый шрифт
    SetTextAlign(hDC, TA_CENTER | TA_BASELINE); // Текст выровняем по центру
    SetBkMode(hDC, TRANSPARENT);    // Прозрачность, чтоб текст не оказался в квадратной рамке с цветом фона
    SetTextColor(hDC, RGB(0x40,0xAA,0));    // Цвет текста
    TextOut(hDC, x, y, szMessage, strlen(szMessage));   // Рисуем текст на поверхности
    SelectObject(hDC, hOld);    // Возвращаем старый шрифт
    DeleteObject(hFont);        // Удаляем наш кастомный шрифт
}
 
void WinMainCRTStartup()
{
    // HDC - это такая поверхность, по которой планируется рисовать
    // В данном случае мы будем рисовать по поверхности всех имеющихся
    // мониторов. А в общем случае она может быть создана и для принтера
    // и для других экзотических устройств
    HDC hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
    while(1)    // Повторять будем бесконечно
    {
        // Выводим текст
        CenterText(hDC, GetSystemMetrics(SM_CXSCREEN) / 2,
            GetSystemMetrics(SM_CYSCREEN) / 2, szMessage, 72);
        Sleep(100); // Ждем 1/10 секунды, чтоб не забивать процессор
    }
    // Сюда выполнение не дойдет, задачу нужно завершить через список процессов
    ReleaseDC(NULL, hDC);
    ExitProcess(0);
}
Теперь требуется настроить свойства проекта - щелкаем правой кнопкой в окне Solution Explorer по названию проекта HelloWorld3, выбираем Properties. В дереве открываем Configuration Properties/Linker/System, ставим в свойстве SubSystem значение Windows. Свойство SubSystem как раз и определяет, как будет компилироваться приложение – как консольное (/SUBSYSTEM:Console) или как оконное (/SUBSYSTEM:Windows). Если его не устанавливать, то оно само попытается определить тип подсистемы по имени стартовой функции. Однако, если функция имеет нестандартное имя, как в нашем примере – то его придется указывать явно. Помимо этих двух типов приложений, в списке имеются также и другие, но к теме уроков они не относятся.
Дальше открываем Configuration Properties/Linker/Advanced, в свойство Entry Point записываем название функции, с которой хотим начать выполнение – WinMainCRTStartup.
Собственно:
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>c:\users\w\documents\visual studio 2013\Projects\Overlay\Debug\HelloWorld.exe : fatal error LNK1120: неразрешенных внешних элементов: 1
Насколько я понимаю проблема как раз в SubSystem. Несколько не понятно, что именно там необходимо ввести в качестве значения. Просто Windows? /SUBSYSTEM:Windows? Перепробовал - толку нет. Среда MSVS2013.

Вернуться к обсуждению:
Точка входа отличная от main/WinMain C++
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2015, 09:40
Готовые ответы и решения:

Ошибка: In function main: 18 undefined reference to WinMain
Создайте класс, содержащий 2 закрытые переменные (катеты прямоугольного треугольника) и открытые...

Настройка размера окна при открытии программы (main(), не WinMain()
Доброго времени суток, форумчане! Во первых, хочу вас всех поблагодарить за помощь, благодаря...

[ERROR] id returned 1 exit status | main.c:(text.startup+0xa7):undefined reference to 'WinMain@16'
Здравствуйте. Помогите узнать в чем ошибка. По ходу с компилятором что-то не так. . . использую Dev...

Не могу запустить WPF проект. Не найдена точка входа Main. Ничего не понимаю...
Создал проект WPF. Удалил MainWindow.xaml, MainWindow.xaml.cs, App.xaml, App.xaml.cs. Потом такие...

32
28.01.2015, 09:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2015, 09:40
Помогаю со студенческими работами здесь

Что такое точка входа? (opengl32.dll была загружена, но найти точку входа для DllRegisterServer не удалось.)
:help: при открывании игр показывает окно: RegSvr32 opengl32.dll была загружена, но найти...

Вызов конструктора происходит до входа в main
Дебажу один большой проект Первый брейкпоинт у меня стоит на первой строке в main(), но при этом...

Программа не содержит статистического метода Main, подходящего для входа
Помогите пожалуйста, ошибку эту выдает using System; using System.Collections.Generic; using...

Программа не содержит статического метода main подходящего для точки входа
Вчера оба проекта нормально компилировались, а сегодня выдает ошибку &quot;Программа не содержит...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru