Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать время работы пограммы? Например, алгоритма сортировки 
:(
    Опции темы
HMLd
Дата 29.6.2006, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 27.6.2006
Где: Polska

Репутация: 1
Всего: 0



Как узнать время выполнения программы?...Я что-то слышал про 046Ch...
Можно пример?...Или линк на статью...smile 
PM MAIL   Вверх
Kostt
Дата 29.6.2006, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 8.1.2006
Где: Томск

Репутация: 1
Всего: 3



ОС какая? 
PM MAIL   Вверх
chaos
Дата 29.6.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



вот тебе пример(тоже однажды решил фигней пострадать - позамерять)

Код

#define WIN32_LEAN_AND_MEAN  /* speed up compilations */ 
#include <windows.h> 
#include <stdlib.h> 
#include <stdio.h> 

#define ARRSIZE 150000 

__int64 FileTimeToQuadWord(PFILETIME pft) 
{ 
   return(Int64ShllMod32(pft->dwHighDateTime, 32) | pft->dwLowDateTime); 
} 

ULONG Thread(LPVOID lpData) 
{ 
   FILETIME ftCreationTime1, ftCreationTime2; 
   FILETIME ftExitTime1, ftExitTime2; 
   FILETIME ftKernelTime1, ftKernelTime2; 
   FILETIME ftUserTime1, ftUserTime2; 
    
   int x; 
   int *lpArray = (int *)malloc(sizeof(int) * ARRSIZE ); 

   //непосредственно начала замеряемого участка 
   GetThreadTimes(GetCurrentThread(), &ftCreationTime1, &ftExitTime1, &ftKernelTime1, &ftUserTime1); 
   for (size_t i = 1; i < ARRSIZE; i++) 
      for(size_t j = ARRSIZE - 1; j >= i; j--) 
           if (lpArray[j - 1] > lpArray[j])     
         { 
               x = lpArray[j - 1]; 
                   lpArray[j - 1] = lpArray[j]; 
            lpArray[j] = x; 
             } 
   GetThreadTimes(GetCurrentThread(), &ftCreationTime2, &ftExitTime2, &ftKernelTime2, &ftUserTime2); 
   //конец
   free(lpArray); 

   __int64 m_qwKernelTimeElapsed, m_qwUserTimeElapsed; 
   m_qwKernelTimeElapsed = FileTimeToQuadWord(&ftKernelTime2) - FileTimeToQuadWord(&ftKernelTime1); 
   m_qwUserTimeElapsed = FileTimeToQuadWord(&ftUserTime2) - FileTimeToQuadWord(&ftUserTime1); 
   double m_qwTotalTimeElapsed = (m_qwKernelTimeElapsed + m_qwUserTimeElapsed) / 1E7; 


   char szResult[20] = {0}; 
   sprintf(szResult, "%7.3f", m_qwTotalTimeElapsed); 
   MessageBox(NULL, szResult, "Result", MB_OK); 

   return 0; 
} 

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) 
{ 

   DWORD dwThreadId; 
   HANDLE hThread1 = CreateThread(NULL, 0, Thread, NULL, 0, &dwThreadId); 
   HANDLE hThread2 = CreateThread(NULL, 0, Thread, NULL, 0, &dwThreadId); 
   HANDLE hThread3 = CreateThread(NULL, 0, Thread, NULL, 0, &dwThreadId); 

   HANDLE lpHandles[3]; 
   lpHandles[0] = hThread1; 
   lpHandles[1] = hThread2; 
   lpHandles[2] = hThread3; 
   WaitForMultipleObjects(3, lpHandles, TRUE, INFINITE); 

   CloseHandle(hThread1); 
   CloseHandle(hThread2); 
   CloseHandle(hThread3); 

   return 0; 
} 

 
PM WWW   Вверх
MAKCim
Дата 29.6.2006, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



если *ix
можешь команду shell times использовать
# times <твоя программа>
еще достаточно точный способ через clock 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
NiJazz
Дата 29.6.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Если под винду, то не надо таких ивзратов. Есть GetTickCount. Эта функция показывает, сколько миллисекунд прошло после старта системы (с какого-то там момента). Можно запомнить значение в начале работы алгоритма/программы и затем вычесть это значение от результата функции в конце.
Если не винда, то скорее всего clock. Linux, к примеру, вообще в плане API небогат. smile 
PM MAIL   Вверх
MAKCim
Дата 29.6.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

к примеру, вообще в плане API небогат.

и это его преимущество 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
NiJazz
Дата 29.6.2006, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Не преимущество, а дубовизна скорее. Там до сих пор синхронизуются с помощью файлов?  smile  
PM MAIL   Вверх
MAKCim
Дата 29.6.2006, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

Не преимущество, а дубовизна скорее

Цитата

...
Философия Win32 API полностью отлична от философии UNIX. В ОС UNIX все системные вызовы опубликованы и формируют минимальный интерфейс: удаление одного из них приведет к снижению функциональности ОС. Философия Win32 заключается в предоставлении всеобъемлющего интерфейса, часто с возможностью выполнить одно и то же тремя или четырьмя способами, включающего множество функций
...
 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
HMLd
Дата 29.6.2006, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 27.6.2006
Где: Polska

Репутация: 1
Всего: 0



Цитата
ОС какая? 

Винда...

Цитата
GetTickCount

Надо попробовать заюзать... smile 
PM MAIL   Вверх
chaos
Дата 29.6.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Цитата(NiJazz @ 29.6.2006,  10:25)
Можно запомнить значение в начале работы алгоритма/программы и затем вычесть это значение от результата функции в конце.

винда "многозадачная" система так что в твои расчеты может попасть лишнее время.
лучше GetThreadTimes "не придумать" smile 
PM WWW   Вверх
SergeCpp
Дата 29.6.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



PM MAIL WWW ICQ   Вверх
Xenon
Дата 29.6.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



 А при помощие макроса _TIME_ нельзя? Использовать его как точку отсчета. Время начала обработки текущего файла ... 


--------------------
user posted image  
PM MAIL   Вверх
dumb
Дата 29.6.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 8
Всего: 158



Цитата(XenonSk @  29.6.2006,  13:40 Найти цитируемый пост)
 А при помощие макроса _TIME_ нельзя? Использовать его как точку отсчета. Время начала обработки текущего файла

интересная тема - подсчитывать время, прошедшее с момента компиляции...
можно еще мух на балконе посчитать smile 
PM MAIL   Вверх
Xenon
Дата 29.6.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



dumb Хм, просто в книжке было "обработка файла". Я не очень понял о чем они: о компиляции, или запуске ... 


--------------------
user posted image  
PM MAIL   Вверх
MAKCim
Дата 29.6.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

А при помощие макроса _TIME_ нельзя? 

начало/конец компиляции ?  smile  


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
NiJazz
Дата 29.6.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Цитата

начало/конец компиляции ? 

Макрос __TIME__ заменяется на текущее время при выполнении кода. Это трассировочный макрос и является, кажется, строкой, для этих целей он не подходит. 
PM MAIL   Вверх
Xenon
Дата 29.6.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



MAKCim, ну я типа думал, что это время запуска приложения smile А потом можно получать время работы приложения вычитанием из текущего время это время _TIME_ smile  


--------------------
user posted image  
PM MAIL   Вверх
maxim1000
Дата 29.6.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



Цитата(NiJazz @  29.6.2006,  15:49 Найти цитируемый пост)
Макрос __TIME__ заменяется на текущее время при выполнении кода

при выполнении кода понятия макрос не существует
оно есть только на этапе разработки/компиляции (даже не линковки) 


--------------------
qqq
PM WWW   Вверх
SergeCpp
Дата 30.6.2006, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



MSDN

__TIME__ The most recent compilation time of the current source file. The time is a string literal of the form hh:mm:ss.  
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 30.6.2006, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

оно есть только на этапе разработки/компиляции 

я бы даже сказал на этапе препроцессирования  smile  


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Xenon
Дата 30.6.2006, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



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


--------------------
user posted image  
PM MAIL   Вверх
SergeCpp
Дата 30.6.2006, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



В Вашем решении считается время всех процессов... 
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 30.6.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

Но если нужно узнать время работы программы, то почему бы в самом ее начале не воткнуть цикл-счетчик и все?

а процессорное время на работу со счетчиком? 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Xenon
Дата 30.6.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



MAKCim, а что нужно сделать точкой отсчета? smile Который шаг. Клик по экзешнику, полная загрука приложения. Что? smile 


--------------------
user posted image  
PM MAIL   Вверх
MAKCim
Дата 30.6.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

а что нужно сделать точкой отсчета? smile Который шаг. Клик по экзешнику, полная загрука приложения. Что?

передачу управления функции main
потому как при клике по экзешнику выполняется еще куча всего, что прямо не относится к программе 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
EvgenZ
Дата 13.8.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



А как узнать время "компьютера" и чтобы оно все время проверялось? Чтобы при запуске программы она получала время и через определенный период сравнивала время программы и системное время.


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
codelord
Дата 14.8.2006, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 777
Регистрация: 7.5.2005
Где: ты моя темноглаза я где?!

Репутация: 1
Всего: 39



Цитата(EvgenZ @  13.8.2006,  19:18 Найти цитируемый пост)
А как узнать время "компьютера" и чтобы оно все время проверялось? Чтобы при запуске программы она получала время и через определенный период сравнивала время программы и системное время. 

systime n;
GetLocalTime(&n);
....
можно и

GetSystemTime(&n);
...
а чтобы сравнить можно и самому поразмышлять это даже интересно  smile.


--------------------
Доступен поиск по исходным кодам в GOOGLE.
http://www.google.com/codesearch
PM MAIL   Вверх
EvgenZ
Дата 14.8.2006, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



Что-то не понятно  smile  если возможно.

Сравнение согласен, можно и самому придумать без проблемм  smile .


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
EvgenZ
Дата 15.8.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



Код

int main(){
   time_t system_time= time(NULL);
   std::cout << "Time " << ctime(&system_time) << std::endl;
}


а как это можно обрабатывать? Например мне нужно только минуты и секунды, как мне их "переприсвоить" своему классу ?


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
Mayk
Дата 15.8.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(EvgenZ @  15.8.2006,  14:50 Найти цитируемый пост)

а как это можно обрабатывать? Например мне нужно только минуты и секунды, как мне их "переприсвоить" своему классу ? 

зачем тебе текущее время в строковом виде?
Лучше как выше говорят, используй clock(ибо портируемо и достаточно точно)
Код

int main(){
    clock_t clk = clock(); //текущее время
    .... что-то страшное ...
    clk = clock() - clk; //разница во времени
    double timeInSeconds = ((double) clk)/CLOCKS_PER_SEC;
    cout << timeInSeconds << endl;
}



--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
EvgenZ
Дата 15.8.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Freedom in me
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 3.8.2006

Репутация: 1
Всего: 11



 если не ошибаюсь, функция clock() возвращает целочисленное значение типа clock_t – это время, прошедшее с момента запуска программы. а мне нужно системное время ящика  smile , или я чего-то не понимаю  smile 

Это сообщение отредактировал(а) EvgenZ - 15.8.2006, 11:45


--------------------
<удалено администрацией форума>
PM MAIL   Вверх
Dragon
Дата 15.8.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 10.8.2006
Где: Киев

Репутация: нет
Всего: нет



Цитата

Не преимущество, а дубовизна скорее. Там до сих пор синхронизуются с помощью файлов?    

Имеешь в виду обмен данными между процессами? Есть функция mmap - от memory map, которая с опциями MAP_SHARED | MAP_ANONYMOUS не создает backend файла.

Кроме того, расширение понятия файловой системы, например /proc - это плюс, а не минус - т.к. эти "файлы" только отображаются как часть файловой системы, на самом деле их там и не существует. Это унификация доступа к информации.

По сабжу:
Код

class ExecutionTimer
{
public:
    ExecutionTimer(bool _autoStart = true) 
    { gettimeofday(&initializationTime, 0);}
    
    timeval ElapsedTime() const
    {
        timeval _currentTime, _elapsedTime; 
        
        gettimeofday(&_currentTime, 0);
        timersub(&_currentTime, &initializationTime, &_elapsedTime);
        
        return _elapsedTime;
    }
    
    inline timeval StartupTime() const { return initializationTime; }

private:
    timeval initializationTime;
};

class SpecificTimer : public ExecutionTimer
{
public:
    ~SpecificTimer()
    {
        timeval elapsedTIme = ElapsedTime();
        using std::extended_string;
        
        extended_string _elapsedTime = extended_string("Execution time: ") + elapsedTIme.tv_sec + '.'
            + std::convert_tostr<6, '0'>(elapsedTIme.tv_usec); _elapsedTime += " seconds...\n";
        
        // Application chouses its own way to show message
        cout<<_elapsedTime<<endl;
    }
};

int main()
{
    SpecificTimer _timer;
    for(std::size_t i = 0;i < 10;i++) usleep(100000);
    
    return 0;
}



Вот общая реализация для Linux - но совсем несложно портировать. ExecutionTimer в принципе дает все необходимое в плане расчета времени. Но для debug целей приложение может создать производный класс с деструктором, выводящим расчитанное время в приемлемой форме - т.е. в консоль, в log файл, хоть MessageBox'ом smile

Т.е. достаточно создать объект в начале расчетного интервала, а по выходе из области видимости по уничтожении объекта автоматически будет отображено время.


Это сообщение отредактировал(а) Dragon - 15.8.2006, 13:15
PM MAIL ICQ   Вверх
Бор
Дата 26.8.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 25.7.2006

Репутация: нет
Всего: нет



Цитата

The GetTickCount function retrieves the number of milliseconds that have elapsed since Windows was started. 

DWORD GetTickCount(VOID)
 

Parameters

This function has no parameters. 

Return Values

If the function succeeds, the return value is the number of milliseconds that have elapsed since Windows was started. 

Remarks

The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if Windows is run continuously for 49.7 days. 
Windows NT: To obtain the time elapsed since the computer was started, look up the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8 byte value. 


И жизнь покажется раем

 
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0816 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.