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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2010, 13:19   #1
Negent
Студент
Пользователь
 
Аватар для Negent
 
Регистрация: 11.06.2010
Сообщений: 39
По умолчанию Программа из двух файлов

Добрый день, товарищи-программисты!
Я учусь программировать на C++, и у меня возникла проблема при реализации программы, состоящей из двух файлов и использующей внешнее и внутреннее связывание. Текст программы нормальный, правильный, взят из учебника Стивена Прата "Язык Программирования C++. Задачи и упражнения". Вот исходные тексты файлов:
Цитата:
//twofile1.cpp

#include <vcl.h>
#include <iostream>
#pragma argsused

using namespace std;

int tom=3;
int dick=30;
static int harry=300;

void remote_access();
int main()
{
cout<<"Main out:\n";
cout<<&tom<<"=&tom, "<<&dick<<"=&dick, ";
cout<<&harry<<"=&harry\n";
remote_access();
return 0;
}
Цитата:
#include <vcl.h>
#include <iostream>
#pragma argsused

using namespace std;

extern int tom;
static int dick=10;
int harry=200;
void remote_access()
{
using namespace std;
cout<<"remote_access() out:\n";
cout<<&tom<<"=&tom,"<<&dick<<"=&dic k, ";
cout<<&harry<<"=&harry\n";
}
Как я уже говорил, программа состоит из двух файлов. Используя внутреннее и внешнее связывание, эта программа должна выводить адреса инициализированных переменных. Но вот беда: программа не работает. Я использую среду Borland C++ Builder 6.0, и программа не работает в этой среде (сейчас устанавливаю MS Visual C++ 2010 Express). А именно, среда выдаёт такую ошибку:
Цитата:
[Linker Error] Unresolved external '_main' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0X32.O BJ
Честно искал, нашёл кучу тем, свидетельствующих о том, что "не я первый, не я последний" налетевший на эту ошибку, но всё-таки хотелось бы максимально точно знать: моя ли это вина, правильно ли я вставил код в окна редактирования?
Моя последовательность действий:
1. Переписать коды в окна редактирования.
2. Откомпилировать (Ctrl+F9). Компиляция выявляет ошибку.
3. Запустить (F9). Не удаётся.

На всякий случай прикрепляю снимок экрана, вдруг я что-то упустил, и теперь сижу, туплю (не потому что тупой).
Изображения
Тип файла: jpg Builder_error.jpg (84.6 Кб, 112 просмотров)
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
Negent вне форума Ответить с цитированием
Старый 08.10.2010, 20:47   #2
Negent
Студент
Пользователь
 
Аватар для Negent
 
Регистрация: 11.06.2010
Сообщений: 39
По умолчанию

Нашёл! Решение состоит в правильной компиляции проекта. Пошагово, это делается так (в английской версии):
1. File->New->Other->Console Wizard->C++->OK.
2. Вставляем код первого файла. Специального имени присваивать не надо.
3. Вызов контекстного меню, щелчком по панели вкладок (там где надпись Unit1.cpp). Open Source/Header File->Create a new Unit->OK
4. Вставляем код во второй файл. Специального имени присваивать не надо. Важна совместная компиляция!
5. Нажимаем Ctrl+F9 - для компиляции. Подправляем ошибки (если есть) и запускаем на исполнение: F9. Наблюдаем результат Вот!
P. S. Решение оказалось очень простым. Главное, уметь пользоваться средой. Тему прошу не удалять, т.к. ещё очень много людей, сталкивавшихся с подобной ошибкой, и которые тоже учатся программировать в C++ Builder 6.
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."

Последний раз редактировалось Negent; 08.10.2010 в 20:59.
Negent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение двух файлов Zig-Zag Microsoft Office Excel 10 25.10.2010 23:43
Сравнение двух произвольных файлов rem2010 Общие вопросы Delphi 2 03.05.2010 13:21
Слияние двух файлов в один hen Общие вопросы C/C++ 1 07.10.2009 22:59
Программа получения списка файлов директории и изменения атрибутов файлов roma86 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 09.06.2009 09:08
Слияние двух текстовых файлов nataly_ukr Общие вопросы Delphi 5 26.12.2007 16:45