Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2013, 00:11   #1
Karl__
Пользователь
 
Регистрация: 01.12.2013
Сообщений: 40
Восклицание С++ Использование inline функций

Дано условие: Написать программу с использованием подставляемых функций и обычных функций, выполняющих одни и те же действия. С помощью системного таймера определить выигрыш во времени при использовании inline -функций.
Помогите написать программу, так как условие вообще не понятно.
Karl__ вне форума Ответить с цитированием
Старый 17.12.2013, 21:37   #2
Karl__
Пользователь
 
Регистрация: 01.12.2013
Сообщений: 40
По умолчанию

Так, код есть, как использовать таймер после каждого цикла?
Код:
#include<iostream>
#include<stdio.h>
int maxo(int x, int y)
{
return(x>y)?x:y;
}
inline int maxi(int x, int y)
{
return(x>y)?x:y;
}
int main()
{
int i,j=5000,k, loop; // Непосредственное вычисление 
for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++)
{
k=(i>j)?i:j;
}
}
// Подставляемая функция 
setlocale(LC_ALL, "Russian");
printf("Подставляемая функция\n\n"); 
for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++) {
k=maxi(i,j);
}
}
//Неподставляемая функция 
printf("Обычная функция\n\n"); for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++)
{k=maxo(i,j);
}
}
system("pause");
return 0;
}
Karl__ вне форума Ответить с цитированием
Старый 17.12.2013, 21:39   #3
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

GetTickCount
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Старый 17.12.2013, 21:56   #4
Karl__
Пользователь
 
Регистрация: 01.12.2013
Сообщений: 40
По умолчанию

мне нужен уже готовый код, так как я сама пробовала вставлять, но у меня как всегда ошибки

если поможете оставлю отзыв)
Karl__ вне форума Ответить с цитированием
Старый 18.12.2013, 11:29   #5
Helloween
Форумчанин
 
Регистрация: 24.04.2012
Сообщений: 300
По умолчанию

Код:
#include "stdio.h"
#include "windows.h"

unsigned long foo(int x)
{
  return x*x;
}

inline unsigned long bar(int x)
{
    return x*x;
}

int main()
{    
   unsigned long t = ::GetTickCount();
   for(int i = 0; i < 1000000; i++)
   {
       foo(i);
   }
   printf("not inline:%d\n",::GetTickCount() - t);
   t = ::GetTickCount();
   for(int i = 0; i < 1000000; i++)
   {
       bar(i);
   }
   printf("inline:%d\n",::GetTickCount() - t);
   return 0;
}
Помог? Оставляем отзыв =)
Helloween вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ использование функций Lady Dia Помощь студентам 1 27.05.2013 11:41
Использование функций С++ Lady Dia Помощь студентам 1 03.05.2013 12:40
inline c gcc O3 медленее чем без inline LynXzp Общие вопросы C/C++ 4 27.12.2012 20:54
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 18:25
Использование функций prikolist Общие вопросы C/C++ 15 06.04.2009 18:42