Пятница, 25.05.2012, 23:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Страница 1 из 181231718»
Модератор форума: nilrem 
Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Задаем свои вопросы здесь.)
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04.09.2011, 19:10 | Сообщение # 1
The Witcher
Сообщений: 722
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

И так, первый вопрос-каким образом можно точно узнать сколько тратит оперативной памяти программа на С++?
 
serg-kkzДата: Воскресенье, 04.09.2011, 19:44 | Сообщение # 2
постоянный участник
Сообщений: 341
Сейчас нет на сайте
Kornival, Ctrl+Alt+Del

 
KornivalДата: Воскресенье, 04.09.2011, 19:49 | Сообщение # 3
The Witcher
Сообщений: 722
Сейчас нет на сайте
Quote
Kornival, Ctrl+Alt+Del

Про диспетчер задач я в курсе, но что делать если программа завершается раньше чем ты успеешь нажать Ctrl? Я ждал что мне подскажут программу вроде профайлеров, только отображающую расход памяти.

Сообщение отредактировал Kornival - Воскресенье, 04.09.2011, 19:51
 
serg-kkzДата: Воскресенье, 04.09.2011, 23:08 | Сообщение # 4
постоянный участник
Сообщений: 341
Сейчас нет на сайте
Kornival, Код на VB6. В инете взял, работает проверено. Думаю сможешь доработать под свои нужды.

1. Создай модуль и вставь этот код.


2. Размести, кнопку на форме и для события клика, вставь этот код.

Code
GetProcesses "explorer.exe"

Как видно это для "explorer.exe" заменишь на нужный. И по клику будет выдаваться инфа о потребляемой памяти. Допилить под монитор думаю не трудно.

З.Ы. Названия формы, модуля, кнопки. Оставь по умолчанию.



Сообщение отредактировал serg-kkz - Воскресенье, 04.09.2011, 23:11
 
zodiakДата: Воскресенье, 04.09.2011, 23:29 | Сообщение # 5
участник
Сообщений: 226
Сейчас нет на сайте
GetProcessMemoryInfo

Книжку по винапи почитайте для общего развития.

Точка зору окремо взятого індивіда завжди суб'єктивна!

C++/C# программист. Ищу команду.


Сообщение отредактировал zodiak - Воскресенье, 04.09.2011, 23:30
 
froexДата: Понедельник, 05.09.2011, 08:58 | Сообщение # 6
Руководитель Froexilize team
Сообщений: 418
Сейчас нет на сайте
Quote (Kornival)
каким образом можно точно узнать сколько тратит оперативной памяти программа на С++?

Можно использовать специальные утилиты и отладчики, например, valgrind.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу тестера, программистов С и С++.
Сайт: http://froexilize.com
 
KornivalДата: Понедельник, 05.09.2011, 14:08 | Сообщение # 7
The Witcher
Сообщений: 722
Сейчас нет на сайте
zodiak, спасибо конечно, но не по делу. froex, спасибо.
 
CofeinДата: Вторник, 13.09.2011, 17:17 | Сообщение # 8
был не раз
Сообщений: 2
Сейчас нет на сайте
Друг недавно купил новый комп. На нем при компиляции выходит такое мракобесие

В чем дело? Почему выходит эта ошибка с командной строкой? sad
 
RorschachДата: Вторник, 13.09.2011, 17:23 | Сообщение # 9
участник
Сообщений: 204
Сейчас нет на сайте
О Cofein, попробуй собрать с дебаг-конфигурацией и покажи билд-лог. Огромная к тебе просьба-не выкладывай больше скриншотов с ошибками, просто скопируй сюда лог.

Never compromise. Not even in the face of Armageddon.
 
noTformaTДата: Вторник, 13.09.2011, 17:24 | Сообщение # 10
Ukrainian independent game developer
Сообщений: 3618
Сейчас нет на сайте
Quote (Cofein)
Почему выходит эта ошибка с командной строкой?

ошибка в dll. по этому скопируй путь в буфер обмена, потом пуск - выполнить, вставь путь и нажми ок. откроется терминал?

@noTformaT
Блог разработчика игр: PythonAnywhere! Пишите на Python везде.
РЕЛИЗ. Glow Web. [2d][flash]
РЕЛИЗ. Flow Orb. [2d][flash]
 
CofeinДата: Четверг, 15.09.2011, 17:24 | Сообщение # 11
был не раз
Сообщений: 2
Сейчас нет на сайте
Ладно. Спасибо! biggrin

Добавлено (15.09.2011, 17:24)
---------------------------------------------
noTformaT, командная строка работает без ошибок.

 
clidiДата: Среда, 21.09.2011, 15:14 | Сообщение # 12
частый гость
Сообщений: 61
Сейчас нет на сайте
Задание из книги Дейтелов. Нужно найти 2ва наибольших значения из 10ти чисел (каждое число вводить только один раз).

Вот что у меня пока получилось, но это не правильно. Если второе максимальное число стоит после первого, то оно не записывается во второе максимальное. Как сделать по нормальному?


Сообщение отредактировал clidi - Среда, 21.09.2011, 15:15
 
TimKruzДата: Среда, 21.09.2011, 15:49 | Сообщение # 13
старожил
Сообщений: 1588
Сейчас нет на сайте
Quote (Kornival)
Про диспетчер задач я в курсе, но что делать если программа завершается раньше чем ты успеешь нажать Ctrl? Я ждал что мне подскажут программу вроде профайлеров, только отображающую расход памяти.

facepalm Если честно, глупый вопрос. Ответ на него должен знать любой программист.
Можно ставить breakpoint (точка останова) в отладчике (среде программирования) - тогда не нужно изменять код. Отладчик приостанавливает выполнение на отмеченной точке, но программа "весит" в оперативной памяти, т.е. тем же диспетчером можно увидеть, сколько она занимает памяти в конкретной точке выполнения.
Как вариант, если в отладчике нету breakpoint'ов (или самого отладчика нету, только компилятор), поставь в коде программы, перед тем, как начнётся освобождение памяти (или перед завершением, если не используются динамические типы данных), команду для приостановки работы программы (ну типа sleep() или wait(), или что там у вас в C++). Но это проверка на глобальные переменные, а если вызываются свои процедуры/функции - то приостановку нужно делать внутри процедуры.

Cofein, если ошибка с командной строкой, то это ошибка с командной строкой. biggrin Что-то она не хочет выполнятся. Проверь, там ли она у тебя лежит, или, может, в пуск>>выполнить запускается другой файл, а cmd.exe просто нет (или она в другой папке)?.. Открой проводник и введи "C:\WINDOWS\system32\cmd.exe".

clidi, используй массив из 10 чисел. Сначала вводишь данные с клавиатуры в ячейки массива. Присваиваешь largest1 и largest2 минимально возможное значение (а оно может быть отрицательным; или у тебя только натуральные числа?). Потом первый пробег по массиву - проверяем, если значение ячейки больше largest1, записываем её значение в эту переменную. Т.о. получаем первое максимальное. Затем второй пробег по массиву - если значение ячейки больше largest2, но меньше largest1 (как я понимаю, второй максимум - меньше первого?) - записываем её значение в largest2. Выводим полученные числа. Конечно, алгоритм немного громоздкий и относительно медленный, но зато точно работающий.



Сообщение отредактировал TimKruz - Среда, 21.09.2011, 15:55
 
clidiДата: Среда, 21.09.2011, 16:06 | Сообщение # 14
частый гость
Сообщений: 61
Сейчас нет на сайте
TimKruz, Дело в том, что это упражнение находится до глав про массивы. Конечно твой вариант хорош, но есть идеи как это сделать без массивов?
 
FaetonДата: Среда, 21.09.2011, 16:07 | Сообщение # 15
был не раз
Сообщений: 23
Сейчас нет на сайте
for(int counter = 0; counter < 10; counter++)
{
cout << "Введите число: ";
cin >> number;

if(number > largest2)
{
if(number > largest1)
{
largest2 = largest1;
largest1 = number;
}
else
{
largest2=number;
}
}
}
 
TimKruzДата: Среда, 21.09.2011, 16:18 | Сообщение # 16
старожил
Сообщений: 1588
Сейчас нет на сайте
Faeton, точно, так будет проще и работать будет. Как-то я не догадался, что просто условие немного дополнить надо?.. surprised

 
BOOMДата: Суббота, 08.10.2011, 12:14 | Сообщение # 17
I am the creator of ADE
Сообщений: 978
Сейчас нет на сайте
Тему Я закреплю, пусть задают не опытные "быстрые" вопросы, на которые Мы, более опытные, будем отвечать.

Так, в теме не флудить.

______________________________
Каждое мнение имеет право на жизнь, даже, если оно ошибочно.
Человеку привычно ошибаться, но не привычно нести ответственность за свою ошибку.
______________________________
 
ElsДата: Воскресенье, 09.10.2011, 23:46 | Сообщение # 18
почетный гость
Сообщений: 82
Сейчас нет на сайте
Что подразумиваеться под словами "Знание основ С++" ?
 
РесторДата: Понедельник, 10.10.2011, 07:54 | Сообщение # 19
был не раз
Сообщений: 12
Сейчас нет на сайте
Возьми любой учебник для начинающих, освой его, вот и будут основы (управление вводом-выводом, циклы, массивы, ссылки, указатели, ООП и др.) Список тем там примерно один и тот же освещается. Из учебников можешь почитать: Р. Лафоре "Объектно-ориентированное программирование в с++", Герберт Шилдт "с++ Базовый курс", Джесс Либерти "с++ за 21 день". У каждого из них свои плюсы и недостатки, но в целом это одни из лучших учебников для начинающих.

Сообщение отредактировал Рестор - Понедельник, 10.10.2011, 08:11
 
SWFcreatorДата: Суббота, 22.10.2011, 17:43 | Сообщение # 20
участник
Сообщений: 137
Сейчас нет на сайте
Увидел в учебнике функции и переменные, объявленные типом перечисления. Почему-то мой компилятор(VS 2010) не хочет такое компилить. В интернете тоже читал про такие объявления. Я что то не так делаю, или из языка убрали?


Тайна Белой Крепости - мой проект на UDK
Сайт проекта


Сообщение отредактировал SWFcreator - Суббота, 22.10.2011, 17:58
 
Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Задаем свои вопросы здесь.)
Страница 1 из 181231718»
Поиск:

Все права сохранены. GcUp.ru © 2008-2012 Рейтинг