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

Компилятор влияет на результат!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, можно ли в многоугольник с вершинами в заданных координатах вписать окружность http://www.cyberforum.ru/cpp-beginners/thread202926.html
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если можно то указать координаты центра и радиусю
C++ Передача потока по параметру функции Доброго времени суток. Есть пара вопросов :) Допустим у нас имеется функция открытия файла: int open_file() { char file_name; cin >> file_name; ifstream file_obf(file_name); //communication stream output with a file http://www.cyberforum.ru/cpp-beginners/thread202924.html
C++ Нарушение прав доступа при записи
Создаю свой класс ошибок следующим образом: class SecureTransportException { private: SecureLibraryErrorCode errorCode_; public: std::string knownErrorCodes_; //30 - кол-во ошибок SecureTransportException(SecureLibraryErrorCode errorCode);
C++ Бесконечность
Есть значит функция нахождения интеграла Симпсоном, мне нужно посчитать интеграл от sin(x)/x на промежутке от 0 до бесконечности, как лучше всего передать значения в функцию? Я пробовал simpson(test2,0,std::numeric_limits<double>::max(),eps), но тогда получаю -1.IND. Как правильно посчитать? const double a=1,b=2; double simpson(double (*const f)(double),const double a, const double...
C++ Программка выдает не то что хотелось http://www.cyberforum.ru/cpp-beginners/thread202919.html
Всем здрасте! Столкнулся со следующей проблемой. На ранних этапах изучения C++ сам себе придумываю задачки,т.к. в книжке по которой изучаю практически ничего нет,только простейшие варианты. Хотел написать программку которая рассчитывает сколько зданий я могу купить на имеющееся количество денег:)Это из игры на мобильнике. Цена здания увеличивается на определенную сумму с каждой новой покупкой. ...
C++ Микроконтроллер на C++ Доброго дня суток. Постораюсь быть обьективным. Есть контроллер. Есть к нему аккселерометр (очевидно что это - прибор измеряющий ускорение в пространстве). Есть программа которую написал человек который подружился только что с C++ и делает первые шаги (я). Хорошая новость что частично она работает. Плохая то что программа входит в бесконечный цикл сэмплируя одну и ту же дату. п.с.... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
04.12.2010, 01:54
Короче, создаём такой экзешник

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
#include <stdio.h> 
#include <Windows.h> 
#include <Winnt.h> 
//Здесь определена структура PROCESSENTRY32 и функция CreateToolhelp32Snapshot
#include <tlhelp32.h>
//int main ();
 FILE *f;
HANDLE HandleProcessa ()  {
 
 HANDLE hProcessSnap;
 PROCESSENTRY32 pe32;
 
 //Это мы находим дескриптор снимка процессов
 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
 if (hProcessSnap == INVALID_HANDLE_VALUE)
 return false;
 pe32.dwSize = sizeof(PROCESSENTRY32);
 
 
 int i= 0;
 
 while (Process32Next(hProcessSnap, &pe32)) {
//  printf ("%d  %s\n",++i,  pe32.szExeFile);
  fprintf(f,"%s \n",pe32.szExeFile);
 } 
 printf("+++++++++\n");
 fprintf(f,"+++++++++\n");
 
 
 CloseHandle(hProcessSnap);
 
 
}
 int main () {
// FILE *f;
// f = fopen("rezultat.cc","wb");
//  printf ("ppppppppppppp\n");
 f = fopen("rezultat.cc","wb");
  while (1) {
  HandleProcessa ();
  }
 fclose (f);
// fclose (f);
  getchar ();
  return 0;
 }

ПОтом выключаем в оси всякие процессы типа аськи и прочее и быстро шевелим пальцами. Запускаем этот экзешник. ОН создаст текстовый файл с процессами, циклом. ПОсле чего в командной строке набираем
gcc.exe ra.c <Enter>
где gcc.exe это компилятор, необходимо предварительно позаботиться, чтобы ось его нашла (переменная PATH), а ra.c- исходник. с текстом в первом посте

Как только компиляция заканчивается, смотрим получившийся текстовый файл. За эти несколько секунд у меня, например создалось там несколько сот тыщ строк. Это списки процессов оси. Где-то во второй половине список будет выглядеть так:
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
[System Process] 
System 
smss.exe 
csrss.exe 
winlogon.exe 
services.exe 
lsass.exe 
svchost.exe 
svchost.exe 
svchost.exe 
svchost.exe 
svchost.exe 
spoolsv.exe 
explorer.exe 
rundll32.exe 
soundman.exe 
avp.exe 
UnlockerAssistant.exe 
punto.exe 
avp.exe 
sqlservr.exe 
nvsvc32.exe 
sqlwriter.exe 
alg.exe 
wuauclt.exe 
firefox.exe 
klwtblfs.exe 
plugin-container.exe 
devcpp.exe 
cmd.exe 
cmd.exe 
main.exe 
gcc.exe
И так раз несколько

А потом он изменится, появится ещё один процесс, дочерний для gcc.exe и список будет выглядеть какое-то время так:

[System Process]
System
smss.exe
csrss.exe
winlogon.exe
services.exe
lsass.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
svchost.exe
spoolsv.exe
explorer.exe
rundll32.exe
soundman.exe
avp.exe
UnlockerAssistant.exe
punto.exe
avp.exe
sqlservr.exe
nvsvc32.exe
sqlwriter.exe
alg.exe
wuauclt.exe
firefox.exe
klwtblfs.exe
plugin-container.exe
devcpp.exe
cmd.exe
cmd.exe
main.exe
gcc.exe
cc1.exe


А теперь если мы всю эту херь проделаем, но изменим имя исходника на *cpp, то имя дочернего процесса будет
cc1plus.exe

ВЫвод: по запуску gcc.exe анализирует строку-имя файла и включает разные процессы. Те, в свою очередь могут ещё какие-то процессы подключать и так далее. если охота проанализируйте списки процессов. Я же показал очевидное: компиляция происходит ПО-РАЗНОМУ. Нечего и удивляться результату. ПРивет.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru