Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
10 / 1 / 0
Регистрация: 13.08.2013
Сообщений: 70

оптимизация

12.12.2013, 16:27. Показов 814. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Хотел оптимизировать следующий код 1.rar
разбив функцию блок на две функции(время компиляции примерно на 25 процентов уменьшается)
и получилось следующее2.rar
причем новый вариант работает с ошибками.
Подскажите пожалуйста в чем могут быть ошибки или проблемы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2013, 16:27
Ответы с готовыми решениями:

Оптимизация кода
Приветствую всех. Посмотрите на нижеприведенный код. Возможно ли сделать его проще (например без использования AnsiString и/или цикла)? ...

Оптимизация кода
Исходный код: //////разбор//// String html_data =_T(""); innerRe->ModifierM = true; innerRe->Expression =...

Оптимизация расчета
Народ мож кто подскажет короче есть цикл внутри, которого гоняется функция по определенному расчета функция вылизана чутли не побайтно по...

3
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.12.2013, 16:48
В 45-й строке вместо for (n=0;n<d-1;i++){, наверное, так нужно: for (n=0;n<d-1;n++){ ?
1
10 / 1 / 0
Регистрация: 13.08.2013
Сообщений: 70
12.12.2013, 20:22  [ТС]
точно так как вы сказали,спасибо.
У меня проблема с работой функции Block,она либо не срабатывает,либо не видно результата ее действия.Сейчас вот с этим борюсь

Добавлено через 9 минут
я перенес вызов функции Naj в функцию Block.
Возможно ли,что проблема взаимодействия между ними из-за такого объявления массива для хранения индексов нажатой кнопки он у меня находится в функции Naj и выглядит так:
C++
1
2
3
TButton*  Block = dynamic_cast<TButton*>( Sender );
   qm[q] = Block;
   q++;
Добавлено через 2 часа 45 минут
проблема заключается с передачей индекса нажатой кнопки в функцию Naj
0
98 / 81 / 14
Регистрация: 26.07.2013
Сообщений: 594
13.12.2013, 14:08
- 1vlad, Ваш обработчик Block - НЕ РАБОТАЕТ. Так-же как и обработчик - Prov! Эти методы у Вас
объявлены, определены но НЕ ПОДКЛЮЧЕНЫ к кнопкам. По моему Kulgar Вам уже говорил, что в Вашем
коде:
C++
1
2
3
4
  // подключение обработчика нажатия клавиши.
  array_btn[i]->OnClick = Prov;   // НЕ СРАБОТАЛО !
  array_btn[i]->OnClick = Block;  // НЕ СРАБОТАЛО !
  array_btn[i]->OnClick = Naj;    // СРАБОТАЛО
сработал только последний оператор. Физически array_btn[i]->OnClick - это переменная в экземпляре класса
(участок памяти). В приведенном выше участке кода Вы записываете в этот участок памяти сначала одно значение
(адрес метода Prov), потом туда-же другое значение (адрес метода Block), а потом туда-же третье значение (адрес
метода Naj). Останется в этой переменной и будет работать как метод нажатия на клавишу лишь последнее
значение, т.е. метод Naj
. Два метода Prov и Block подключены к кнопкам НЕ БУДУТ и работать не будут
НИКОГДА!


- Более того, Ваш обработчик Block пересекается (совпадает) по имени с переменной TButton* Block. Этого
делать никак нельзя. Это может привести к непредсказуемым последствиям.

- И потом, Ваша программа зависает. Когда Вы возвращаетесь из Form2 (т.е. закрываете ее), Ваша
программа остается рабочей, но обе Формы остаются не видимыми (Form1->Visible = false; Form2->Visible = false; )
А ведь в моем приложении, которое я Вам передавал эта проблема была решена! Я добавил к Form2 обработчик ее
закрытия:

В файл "Unit2.cpp":
C++
1
2
3
4
5
6
7
8
9
10
#include    "Unit1.h"   // .........
 
// .........
void __fastcall  TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
  // .........
  Form2->Visible = false;
  // .........
  Form1->Visible = true;
}
Добавлено через 2 минуты
- Да и Ваше выключение кнопок работает явно не правильно. Заметьте, что при нажатии любой первой
кнопки выключается (становится не рабочей) также и левая-верхняя кнопка.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2013, 14:08
Помогаю со студенческими работами здесь

Оптимизация кода
У меня в программе обилие циклов, внутри них в основном расчеты и работа с массивами. Имеет ли смысл производить ассемблерные вставки в...

Оптимизация кода
Вот решил написать что то на подобии &quot;Напоминания события&quot;!))) Вот код: ...

Оптимизация Canvas
Доброго времени суток! Как мне оптимизировать код на c++ Bitmap-&gt;Canvas-&gt;Pen-&gt;Width = 7; ...

Оптимизация ресурсов.
Здравствуйте. Если я не ошибаюсь, все что заносится в FormCreate находится в ОЗУ (поправьте меня, если я не прав). Потому ради скорости...

Оптимизация приложений в RAD
1) Кто-нибудь экспериментировал, насколько эффективна оптимизация приложения по скорости, если в options release проекта поставить галочку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru