0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
|
1 | |
Создание cpp файлов24.07.2010, 15:39. Показов 12830. Ответов 18
Метки нет Все метки)
(
я недавно начал зучать язык программированя С++ и делаю это самостоятельно с помашю книг и интернета. я ищю статьи где было бы подробно описанно для каких функции какие файли создаються например для написания простого математического задания можно использовать файл .cpp, я так понимаю но у меня и с этим тоже проблемы, недавно я открыл "project", в ней файл .срр но когда я в этом же проекте создал второй .срр файл то после нажатия клавиш ctrl+F5 вывело ошибку
"Ошибка 1 error LNK2005: _main уже определен в sd.obj ars.obj arsen" "Ошибка 3 fatal error LNK1169: обнаружен многократно определенный символ - один или более C:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\arsen\Debug\arsen.exe 1 arsen " если кто то понял вчем дело буду очень признателень если даст мне совет. выходит что в одном проекте должен быть только один .срр файл??? (я думаю что такое невозможно в таком грамадном программе, наверника я что то не допонимаю, но что именно надеюсь что помогите узнать!) если обяснение этого слишком длинна можете просто посоветовать ссылки где я могу найти ответы на вопросы такого рода. заранее спасибо всем кто поможет
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
24.07.2010, 15:39 | |
Ответы с готовыми решениями:
18
Подключение файлов main.cpp some.cpp some.h
Обращение файлов cpp Компиляция .cpp-файлов из программы |
159 / 156 / 47
Регистрация: 29.04.2009
Сообщений: 636
|
|
24.07.2010, 16:07 | 2 |
cpp может быть сколько угодно.У вас проблемы с функцией int main();
main Должна быть одна в ней запускается ваш код.
0
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
||||||||||||||||
24.07.2010, 16:15 [ТС] | 3 | |||||||||||||||
так будет правильно??? Извините если вопросы ОЧЕНЬ "ТУПЫЕ"
0
|
1551 / 917 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
24.07.2010, 16:36 | 4 |
Вам же сказали, основная функция, она же main (), должна быть описана один раз.
1
|
8 / 8 / 2
Регистрация: 13.07.2010
Сообщений: 14
|
||||||||||||||||
24.07.2010, 17:03 | 5 | |||||||||||||||
Не по теме: Да нет, arsstyleh, не тупые :) Определитесь сначала, для чего вам новый *.cpp файл? Зачем тело программы куда-то переносить? Если программа очень большая, то ее можно разбивать на подпрограммы, которые в свою очередь можно вынести в другие *.cpp файлы. Ну если очень хочется, вот тебе пример, разбирайся. Есть основной файл <Имя программы>.cpp:
MyMath.h - это заголовочный файл для MyMath.cpp, в нем прототип функции описан. MyMath.h:
2
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
|
24.07.2010, 21:57 [ТС] | 6 |
Lonely_Romantic Спасибо, ваш ответ был понятливее...
0
|
![]() 2343 / 1716 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
24.07.2010, 22:19 | 7 |
arsstyleh, изучайте литературу последовательно, тогда проблем не будет. Главное литературу правильно подобрать.
0
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
|||||||
24.07.2010, 22:30 [ТС] | 8 | ||||||
CyBOSSeR я вообщето искал литературу по этому принципу: чтобы было как можно больше страниц, потому что много книг изучал и пришел к выводу что чем больше страниц тем подробнее все написанно о программе. насшет "изучайте литературу последовательно" я с самого начала книги читаю и в полне внимательно, там просто не написанны подробности про то как создать файли как они должны быт распаложены, и если человек скажем создал один срр файл после чего захотел второй пример с книги написать в отдельном файле, там не сказанно что нужно создать файл и потом в каждом новом срр просто вызывать этот файл где написанно функция майн. (принцып как я понял такой же как и в php программировании где строятся например header, footer, потом при помощи include визываются эти файли.
А сейчась под рукой есть книга Х.М.Дейтел, П.Дж. Дейтел четвертое издание "как программировать на С++" и еше книга скачанная из сайта
Если кто то может мне посоветовать литературу которую считает лучше чем эти, буду признателен.
0
|
102 / 102 / 23
Регистрация: 12.05.2010
Сообщений: 232
|
|
25.07.2010, 15:22 | 9 |
arsstyleh, Дейтла тебе пока что вполне хватит в ооп пока что не лезь, никуда не торопись, делай все последовательно, разбирай что делает каждая строчка... можешь почитать вот эти уроки по С/С++ там подробные примеры с комментариями
0
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
||||||
25.07.2010, 18:56 [ТС] | 10 | |||||
Mur3ik а я с самого начала какраз и изучаю думаю если коректно не пойму как должны создоватьса срр файли и проекты то врядли стоит стремится дальше так и не пробовая узнать. просто тут не так как в 2005 версии, там можно было в одном проекте создовать несколько срр файлов и в каждом были написанны
и не приводило ошибки будто майн употреблен несколько раз, видимо в компиляторе или как эта часть называется не знаю ну вот там наверно что то изменили усовершенствовали и вот результат для навычка ![]()
0
|
![]() ![]() 8376 / 3598 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
|
|
25.07.2010, 19:22 | 11 |
arsstyleh, вы ошибаетесь. 2005 и 2008 одинаково не воспринимают функцию main в разных cpp файлах одного проекта. Другое дело, что то, о чем вы говорите, может быть тогда все остальные файлы должны были быть вручную выгружены из проекта и подключен только один cpp-файл с функцией main и выгруженные файлы попросту в таком случае не компилируются и не имеют никакого отношения к проекту
1
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
|
25.07.2010, 19:47 [ТС] | 12 |
извините но помоему я тже имел ввиду что 2005 и 2008 версии отличаются. или все же не прав был????
0
|
![]() ![]() 8376 / 3598 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
|
|
25.07.2010, 20:13 | 13 |
arsstyleh, я не писал что они отличаются, я написал вот что
2008 и 2005 относительно вашего вопроса абсолютно одинаковы.
1
|
102 / 102 / 23
Регистрация: 12.05.2010
Сообщений: 232
|
|
25.07.2010, 20:23 | 14 |
в принципе можно держать несколько файлов с функцией майн в одном проекте, это даже удобно для проверки разных частей программы. но активным должен быть только один файл с главной функцией. из компиляции можно исключать cpp и h файлы нажав на них правой кнопкой мышь - properties - general - excluded from build
1
|
![]() ![]() 8376 / 3598 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
|
|
25.07.2010, 20:28 | 15 |
Mur3ik, это написано в 11 посте
![]()
1
|
![]() ![]() |
|
25.07.2010, 23:00 | 16 |
Господа, по-моему его интересует следующее. У человека есть проект в VS2008. Он хочет добавить к проекту ещё один файл *.cpp. Его интересует, куда в IDE надо нажать, чтобы добавить (потому как для IDE такое действие не совсем тривиально)
Ну и как-то надо доступно объяснить, что после создания нового файла вовсе не нужно туда копировать код main'а. И при нормельном создании нового файла проекта он (файл) должен быть пустым (т.е. не содержать никакого заранее сгенерённого текста)
1
|
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 16
|
|
25.07.2010, 23:09 [ТС] | 17 |
Evg тебе спосибо за присоединение и всем за советы, кажется я не смог излогать понятнее то что мне интересовало, но уже нашел очень полезные материалы на сйте http://msdn.microsoft.com/ru-r... 35627.aspx
0
|
Модератор
![]() ![]() ![]() ![]() 11650 / 7162 / 1701
Регистрация: 25.07.2009
Сообщений: 13,123
|
|
26.07.2010, 03:23 | 18 |
Мало того - ни один компилятор не скомпилирует вместе два файла, в которых определена функция с одним и тем же именем.
0
|
![]() ![]() |
|
26.07.2010, 11:11 | 19 |
У него по ходу дела формировалась статическая библиотека. В юниксе, по крайней мере, такое точно бы прошло (просто ни один файл из библиотеки не попал бы в линковку, т.к. не снаружи не имеет нужных UNDEF'ов). Если под виндами принцип построения статической библиотеки такой же, том там тоже пройдёт
0
|
26.07.2010, 11:11 | |
Помогаю со студенческими работами здесь
19
Несколько cpp файлов в проекте
Архитектура размещения h и cpp файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |