Форум программистов, компьютерный форум CyberForum.ru

Оптимизация - C++

Войти
Регистрация
Восстановить пароль
 
Lampa
0 / 0 / 0
Регистрация: 22.03.2008
Сообщений: 33
16.03.2009, 17:27     Оптимизация #1
Мне нужно на определенную часть программы дать указание компилятору не оптимизировать эту часть.
Может кто знает как это сделать????
Под оптимизацией я имею ввиду :
не убирать вызовы пустых функций , не игнорировать выражений типа 2+2 и т.д.
P.S. Извиняйте если криво описал проблему.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EnzoMatrix
 Аватар для EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
16.03.2009, 17:30     Оптимизация #2
как это сделать не знаю, но если цель стоит замедлить выполнение программы то можно delay использовать
Lampa
0 / 0 / 0
Регистрация: 22.03.2008
Сообщений: 33
16.03.2009, 17:32  [ТС]     Оптимизация #3
Цитата Сообщение от CartmanRules Посмотреть сообщение
как это сделать не знаю, но если цель стоит замедлить выполнение программы то можно delay использовать
Спасибо, но это не то ....
Мне нужно именно что бы комп делал эти "ненужные" операции.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.03.2009, 17:46     Оптимизация #4
Пиши ассемблерной вставкой.

Добавлено через 11 минут 24 секунды
не игнорировать выражений типа 2+2
Это выражение имеет конкретное значение и распихать его по переменным или регистрам было бы очень круто. Либо сама создавай переменные со значениями 2 и плюсуй. Либо пиши нужные тебе действия ассемблерной вставкой.
В "пустой" функции можешь попробовать сделать пустую операцию nop, поставить ; в С и прочее.
Отключить оптимизацию, если она включена - опция -O
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
16.03.2009, 17:47     Оптимизация #5
вот так можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
#pragma optimize("",off)
int foo()
{
    int a;
    int b = 2;
    a = b + 2;
    return 0;
}
#pragma optimize("",on)
int main()
{
    foo();
    return 0;
}
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
16.03.2009, 23:20     Оптимизация #6
кстати а для чего тебе это?размазываешь защиту?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2009, 23:27     Оптимизация
Еще ссылки по теме:

C++ Оптимизация программы
C++ Оптимизация программы
C++ Оптимизация кода (C++)
C++ Оптимизация памяти
оптимизация C++

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

Или воспользуйтесь поиском по форуму:
Lampa
0 / 0 / 0
Регистрация: 22.03.2008
Сообщений: 33
16.03.2009, 23:27  [ТС]     Оптимизация #7
Цитата Сообщение от Mecid Посмотреть сообщение
кстати а для чего тебе это?размазываешь защиту?
Да нет все намного проще
это учебное задание , нужно сравнить сколько CPU cycles происходит при вызове функции(пустой) и system call .
Yandex
Объявления
16.03.2009, 23:27     Оптимизация
Ответ Создать тему
Опции темы

Текущее время: 15:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru