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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вненшние переменные, внутренние переменные 
:(
    Опции темы
kLASTER
Дата 3.6.2013, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Подскажите пжл, как соединить два файла для понятия темы "продолжительность жизни внешних файлов".
Вот пример, есть два файла:
Код

//support.cpp
//Компилировать вместе с external.cpp(ЭТО КАК?)
#include <iostream>
extern double warming;

void update(double dt);
void local();

using std::cout;
void update(double dt)
{
  extern double warming;
  warming += dt;
  cout << "Updating global warming to " << warming;
  cout << " degrees.\n";
}
void local()
{
  double warming = 0.8;
  cout << "Local warming = " << warming << " degrees.\n";
  cout << "But global warming = " << ::warming;
  cout << " degrees.\n";
}


Вот второй:
Код

//external.cpp
//Компилировать вместе с support.cpp(ЭТО КАК?)
#include <iostream>

using namespace std;

double warming = 0.3;

void update(double dt);
void local();

int main()
{  
  cout << "Global warming is " << warming << " degrees.\n";
  update(0.1);
  cout << "Global warming is " << warming << " degrees.\n";
  local();
  cout << "Global warming is " << warming << " degrees.\n";
  
  system("PAUSE");
  return 0;
}

Проблема в том, что если я делаю проект, то выдается ошибка
 C:\Dev-Cpp\Makefile.win [Build Error]  [../Users/пк/Desktop/main.o] Error 1 
Заранее спасибо!
PM MAIL   Вверх
baldina
Дата 3.6.2013, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(kLASTER @  3.6.2013,  13:14 Найти цитируемый пост)
как соединить два файла

оба файла добавить в проект. компиляция будет раздельная, а вот в линковке (сборке .exe) убдут участвовать оба (объектных) файла
PM MAIL   Вверх
kLASTER
Дата 3.6.2013, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если я правильно понял, то:
 - создаю проект
 - добавляю в проект 2 этих файла

и у меня снова эта же ошибка. Что она означает, неправильная компиляция или ошибка в синтаксисе?
PM MAIL   Вверх
bsa
Дата 3.6.2013, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



kLASTER, реальная ошибка выдается чуть раньше, указанной тобой.
PM   Вверх
baldina
Дата 3.6.2013, 17:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(kLASTER @  3.6.2013,  13:14 Найти цитируемый пост)
для понятия темы "продолжительность жизни внешних файлов"

интересно, как это поможет понять тему)))))
тут сначала нужно понять, что требуется понять
PM MAIL   Вверх
EgoBrain
Дата 4.6.2013, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Может быть тема "продолжительность жизни внешних переменных" всетаки?

Этот пример демонстрирует использование внешней голобальной переменной warming.
Она объявляется в главном модуле external.cpp (название только запутывает), и используется функциями из доп.модуля.
В функции update() используется переменная warming объявленная в extern.cpp в функции local() своя внутренняя, у которой "продолжительность жизни" равно продолжительности выполнения функции.

Код демонстрирует не время жизни а использование операторов extern и ::, про вермя жизни наверное говорится в теории к упражнению...


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  extern.exe 133,50 Kb
PM MAIL ICQ Skype   Вверх
kLASTER
Дата 4.6.2013, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



да, "... переменных" - ошибся я. Спасибо за поправку.


EgoBrain, спасибо. Код действительно работает. Не мог бы подсказать, как его заставить скомпилировать.
PM MAIL   Вверх
kLASTER
Дата 4.6.2013, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем огромное спасибо!!! Разобрался

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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