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

Запустить программу из другой программы в качестве нового процесса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции пользователя в с++ http://www.cyberforum.ru/cpp-beginners/thread403695.html
пыталась сама написать, что-то не получается, помогите
C++ Указатели, символьные строки и функции в с++ помогите пожалуйста написать программу по заданию на картинках http://www.cyberforum.ru/cpp-beginners/thread403692.html
C++ Перегрузка оператора %
Подскажите пожалуйста как перегрузить оператор % для матрицы! #include "StdAfx.h" #include "statik.h" #include <iostream> using namespace std; statik::statik(void) { dim = 2; // размерность 2 по умолчанию
C++ Вывод матрицы из файла....
Как вывести матрицу 5*5 из файла и записать в двумерный массив?
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread403641.html
Само задание вложено Вот сам код #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h> using namespace std; //int _tmain(int argc, _TCHAR* argv)
C++ Запонить клетки натурального ряда по порядку "Заполните матрицу A шахматном порядке: клетки одного цвета заполнены нулями, а другого цвета - заполнены числами натурального ряда сверху вниз, слева направо. В левом верхнем углу записано число 1." Не получается запонить клетки натурального ряда по порядку. Вот мой код: #include <stdio.h> #include <iostream> using namespace std; void main(void) { подробнее

Показать сообщение отдельно
Klendathu
 Аватар для Klendathu
6 / 6 / 0
Регистрация: 10.11.2011
Сообщений: 51
12.12.2011, 07:30  [ТС]     Запустить программу из другой программы в качестве нового процесса
Вопросы все-таки есть:
1. SetThreadPriority () - как ей правильно пользоватся и куда вписывать? После создания потока или до?
2. Откопал функцию вычисления времени затраченной потоком на работу, но не понял как ею пользоватся:
C++
1
2
3
4
5
6
7
8
9
10
BOOL GetThreadTimes (
   HANDLE Thread,
   PFILETIME Created, 
      // Время с 01.01.1601 в сотнях нс до создания потока
   PFILETIME Exited, 
      // Время с 01.01.1601 в сотнях нс до завершения потока
   PFILETIME Kernel, 
      // Время в сотнях нс, затраченное потоком на код ОС
   PFILETIME User);  
      // Время в сотнях нс, затраченное потоком на код программы
Добавлено через 8 часов 26 минут
С потоками разобрался, а время засечь не могу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
int cnt; 
long chislo;
char res='2'; 
CRITICAL_SECTION cs;
 
char PowerOfN(long n){
  bool ok = false;
  while(n>=2){
    if (n%2!=0)
      ok = true;
    n = n/2;
    cnt++;
  } 
  
  if (ok == true)
    return '0';  
  else
    return '1';
 
}
 
 
unsigned long _stdcall _thread_PowerOfN(void* n)  {
  EnterCriticalSection(&cs); 
    res=PowerOfN(*(long*)n);
  LeaveCriticalSection(&cs);  
} 
 
 
int main(){
HANDLE  hThread;
 
InitializeCriticalSection(&cs);
cout<<"Enter the number"<<endl;
cin>>chislo; 
//запускаем поток.
 
CreateThread(0,0,_thread_PowerOfN,&chislo,0,0);
hThread = GetCurrentThread();
SetThreadPriority(hThread, THREAD_PRIORITY_LOWEST);   
while(1){
Sleep(0);
 
EnterCriticalSection(&cs); 
 
 
if(res!='2') break;
 
LeaveCriticalSection(&cs); 
}
 
if (res=='1')
  cout<<cnt<<endl;
else
  cout<<"NO"<<endl;
     
cnt = 0;
res = '2';
 
   
 
//second run
InitializeCriticalSection(&cs);
 
cout<<"Enter the number"<<endl;
cin>>chislo; 
 
CreateThread(0,0,_thread_PowerOfN,&chislo,0,0);
hThread = GetCurrentThread();
SetThreadPriority(hThread, THREAD_PRIORITY_TIME_CRITICAL);   
while(1){
Sleep(0);
 
EnterCriticalSection(&cs); 
 
 
if(res!='2') break;
 
LeaveCriticalSection(&cs); 
}
 
 
if (res=='1')
  cout<<cnt;
else
  cout<<"NO";
  
  
  
  return 0;
 
}
Как использовать?
Цитата Сообщение от Klendathu Посмотреть сообщение
C++
1
2
3
4
5
6
BOOL GetThreadTimes ( 
HANDLE Thread, 
PFILETIME Created, // Время с 01.01.1601 в сотнях нс до создания потока 
PFILETIME Exited, // Время с 01.01.1601 в сотнях нс до завершения потока 
PFILETIME Kernel, // Время в сотнях нс, затраченное потоком на код ОС 
PFILETIME User); // Время в сотнях нс, затраченное потоком на код программы
Откуда взять значение Created, Exited, Kernel, User???
 
Текущее время: 15:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru