Перейти к содержанию

Почему не работает ? c++


Рекомендуемые сообщения

Здравствуйте . У меня беда . Внатуре беда . Конкретнейшая .
Работаю в VisualStudio 2015 . Делаю проект win32 .
При объявлении глобального вектора  , программа вылетает . И при объявлении глобальной переменной string происходит то же самое (программа тоже вылетает).
И мне не понятно , почему такое происходит ?
 

Скрытый текст

6sHNTt-GH1I.jpg

Скрытый текст

zAznCFsJ43E.jpg

Помогите , я уже не знаю , что делать ... :(

Ссылка на комментарий
Поделиться на другие сайты

31 минуты назад, Xipho сказал:

Нарушение прав доступа к памяти, там же тебе пишет ошибку. Смотри код, где-то у тебя происходит попытка обратиться к памяти, которая защищена.

Но без векторов всё нормально работает . Я его просто объявляю . И при закрытии программы , вылазит такая ошибка и меня перекидывает в vector

Изменено пользователем afro228offical
Ссылка на комментарий
Поделиться на другие сайты

36 минуты назад, afro228offical сказал:

Помогите , кто-нибудь 

Зашел бы куда не будь - на пример сюда Чпок  и глянул как люди делают. Там по любому всё что надо есть. Если регистрироваться лень, то ссылку давай на интересующий исход. Скачаю дам - (пока на сайте нахожусь)

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, LIRW сказал:

Зашел бы куда не будь - на пример сюда Чпок  и глянул как люди делают. Там по любому всё что надо есть. Если регистрироваться лень, то ссылку давай на интересующий исход. Скачаю дам - (пока на сайте нахожусь)

Спасибо , но мне просто вектор объявить надо :) А у меня ошибка вылетает :( Я просто ашуеваю . Почему же вылетает ...

Изменено пользователем afro228offical
Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, afro228offical сказал:

но мне просто вектор объявить надо

Ну я и дал как бы ссылку, что бы посмотреть как это делают, а не для того, что бы использовать весь исходник :) Ну если не устраивает, тогда жди Хипхо или кто занимается подобным. Я бы если интересовался подобным, сам бы посмотрел и попробовал, ну а если бы уж не вышло (ну не как, что же теперь) тогда бы уже написал сюда. 

Ссылка на комментарий
Поделиться на другие сайты

19 минуту назад, LIRW сказал:

Ну я и дал как бы ссылку, что бы посмотреть как это делают, а не для того, что бы использовать весь исходник :) Ну если не устраивает, тогда жди Хипхо или кто занимается подобным. Я бы если интересовался подобным, сам бы посмотрел и попробовал, ну а если бы уж не вышло (ну не как, что же теперь) тогда бы уже написал сюда. 

Может это какой-то редкий баг студии ?

Ссылка на комментарий
Поделиться на другие сайты

13 минуты назад, afro228offical сказал:

Может это какой-то редкий баг студии ?

Я не знаю даже - так как не пользуюсь ею особо. А трейнеры на СЕ делаю - это куда быстрее чем на любом другом языке. Если делать один в неделю - то почему бы и нет, а тут бывает по 5 штук в день делаешь. Так что на вряд ли в студии дело - сам что не будет не правильно делаешь :mellow: подожди Хипхо  появится как - гляди и ответит, а так что гадать то. Помню мне дедушка говорил - не лезь туда где не понимаешь :lol: 

Ссылка на комментарий
Поделиться на другие сайты

41 минуты назад, LIRW сказал:

Я не знаю даже - так как не пользуюсь ею особо. А трейнеры на СЕ делаю - это куда быстрее чем на любом другом языке. Если делать один в неделю - то почему бы и нет, а тут бывает по 5 штук в день делаешь. Так что на вряд ли в студии дело - сам что не будет не правильно делаешь :mellow: подожди Хипхо  появится как - гляди и ответит, а так что гадать то. Помню мне дедушка говорил - не лезь туда где не понимаешь :lol: 

Где я не понимаю ? в консольном приложении всё работает , а в win32 Нет .

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, LIRW сказал:

А трейнеры на СЕ делаю - это куда быстрее чем на любом другом языке.

СЕ билдер отстой. на фасм/насм быстрее +стабильность выше

 

1 час назад, afro228offical сказал:

Где я не понимаю ? в консольном приложении всё работает , а в win32 Нет .

как вариант пойти https://www.visualstudio.com/ru-ru/downloads/download-visual-studio-vs.aspx

и качнуть про 2015 в iso с апдейтом +пересоздать проект...

Ссылка на комментарий
Поделиться на другие сайты

29 минуты назад, gmz сказал:

СЕ билдер отстой

Я имею введу делать быстрее, сам трейнер, а не то что он быстрее. Загрузил сразу форму вставил скрипт и всё. Минутное дело - если есть кулибины кто так делает на Fasm  - я не знал.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, LIRW сказал:

Я имею введу делать быстрее, сам трейнер, а не то что он быстрее. Загрузил сразу форму вставил скрипт и всё. Минутное дело - если есть кулибины кто так делает на Fasm  - я не знал.

я это и имел ввиду. там ведь также можно накодить 1 "ядро" и юзать его для всего подряд. в теме исходники прог (которая приват) посмотри, мож будет интересно

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, gmz сказал:

я это и имел ввиду. там ведь также можно накодить 1 "ядро" и юзать его для всего подряд. в теме исходники прог (которая приват) посмотри, мож будет интересно

 Я как то привык уже к СЕ gmz да и трейнеры то я особо не горю желанием делать, я их делаю то только из за того, что не которым мамка с папкой не разрешают ставить в комп всякий мусор, да и таблицами не каждый умеет пользоваться. Так бы делал просто таблицы как "krocki" но  людям делаю сразу готовое, без сторонних программ - не ленюсь :) Онлайн меня не интересует, а так как бы в СЕ хватает его возможностей для реализации трейнеров. Я конечно за себя говорю - может кому то не хватает и делают на чем то другом, а меня вполне СЕ устраивает для этих дел. Но загляну в приват - может меня заинтересует твоё предложение :rolleyes: 

Ссылка на комментарий
Поделиться на другие сайты

Вот примерно такой код не работает в win32 . Функцию "pushvector" вызываю при нажатии на кнопку .
 

Скрытый текст

#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
vector <int> v_int;
void pushvector();
int main()
{
	pushvector();
	system("pause");
    return 0;
}
void pushvector()
{
	for (int i = 0; i != 5;i++)
	{
		v_int.push_back(12);
		cout << v_int[i] << endl;
	}
}

 

 

Ссылка на комментарий
Поделиться на другие сайты

Проверил - все работает.

 

Консольное приложение:

Скрытый текст

1.thumb.jpg.4ba846336d9c89250b18f92d4d14
 

Код "main.h":

Скрытый текст


#pragma once
#include <iostream>
#include <vector>

using namespace std;

vector<int> myVector;

 

Код "main.cpp":

Скрытый текст


#include "main.h"

void TestVector() {
	for (int i = 0; i < 5; i++) {
		myVector.push_back(i * 2);

		cout << "Value: " << myVector.at(i) << endl;
	}

	return;
}

int main() {
	TestVector();

	system("pause");

	return 0;
}

 

 

 

Оконное приложение:

Скрытый текст

2.jpg.9c5140a68c06a39148e294220e76a8ec.j
 

Работает как в x86, так и в x64

 

Код "main.h":

Скрытый текст


#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#include <vector>

HWND hMainWnd;
HFONT hFont;
HWND Button1;

std::vector<int> myVector;

 

 

Код "main.cpp": (основа)

Скрытый текст


void Button1_Click() {
	for (int i = 0; i < 5; i++) {
		myVector.push_back(i * 2);
	}
	char szBuffer[255] = { 0 };

	wsprintf(szBuffer, "Размер вектора \"myVector\": %d\n\n", myVector.size());

	for (int i = 0; i < myVector.size(); i++) {
		char szBuffValue[20] = { 0 };
		wsprintf(szBuffValue, "Проход #%d: %d\n", i +1, myVector.at(i));
		strcat(szBuffer, szBuffValue);
	}
	MessageBox(hMainWnd, szBuffer, TEXT("Сообщение"), MB_OK | MB_ICONINFORMATION);
  
	return;
}

Два цикла - просто для "проверки на вшивость".

 

 

P.S.

Microsoft Visual Studio 2015 Professional (14.0.25123.00 Update 2)

Ссылка на комментарий
Поделиться на другие сайты

Я знаю :( У меня в одном приложении winapi векторы работают , а в другом нет . Может код скинуть ? Но только в лс .

Изменено пользователем afro228offical
Ссылка на комментарий
Поделиться на другие сайты

Лучше для начала скинь сюда проект из этого сообщения (или любой другой проект с векторами, который у тебя выкидывает ошибки исключения), т.к. если код из этого сообщения у тебя не работает, а у кого-то будет работать нормально - значит, дело либо в настройках проекта, либо в самой Студии. Также напиши версию Студии.

Дальше будем посмотреть, потому как копание в весьма объемном коде (судя по скринам из первого сообщения) - это всегда гемор, а копание в чужом коде - двойной гемор.

Ссылка на комментарий
Поделиться на другие сайты

Есть подозрение, что где-то лажа с выделением памяти происходит. Надо весь проект смотреть. Зашли в ЛС, но посмотреть смогу только ближе к выходным.

Ссылка на комментарий
Поделиться на другие сайты

Решил в эту тему запостить: подскажите, пожалуйста, почему при запуске проекта через Visual студию память целевого процесса читается и поля формы трейнера заполняются значениями из целевого процесса (работает ReadMemory), а при запуске файла, скомпилированного из проекта exe'шника, с правами администратора не читается (т.е. нет никаких ошибок, просто все поля формы трейнера пустые)?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.