![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Почему нельзя просто добавить библиотеку описав ее
так (Показать/Скрыть)
Logs (Показать/Скрыть)
ConsoleLib.cpp (Показать/Скрыть)
ConsoleLib.h (Показать/Скрыть)
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, описал, в смысле, добавил H-файл, дальше что? Хидер - он на то и хидер, что там хранятся только заголовки подпрограмм обычно (а сама библиотека может идти не в исходниках а в виде LIB-файла, например). То есть, ты сделал то, что необходимо компилятору, чтоб откомпилировать твой код, потому как из хидера компилятор знает, каковы прототипы функций, какие параметры должны передаваться в функцию, можно проверить, правильно ли ты передаешь, или нет. Слинковать программу без подключения cpp/lib или еще какого файла будет невозможно - линкер не найдет реализации функции, то есть, EXE-файл ты не получишь...
|
sheka |
![]()
Сообщение
#3
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Прочел какую-то странную книжечку http://lib.ru/CPPHB/cpptut.txt в которой куча ответов на разные мои вопросы
![]() Т.е. в программу надо добавить 2 такие строчки: #include "ConsoleLib.h"Но так как подключаемый файл срр один, то можно файл h и не подключать. Правильно? ![]() Сообщение отредактировано: sheka - 25.07.2010 23:59 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Так вот, я понял, что #include просто "включает С++ный текст в программу", а *.h помогает определить совместимость типов. Неправильно понял. Вот еще "грабли" С/С++ (это в продолжение темы об олимпиадах по программированию).#include в любом случае вставляет содержимое файла в текст программы (т.е., считай, что вместо директивы #include <имя> у тебя стоит содержимое файла <имя>). А вот о том, что можно, а что нельзя подключать таким образом - разговор особый. Так подключаются только заголовочные *.H/*.HPP файлы. Ни в коем случае не подключай *.C/*.CPP файлы через #include.. Это может привести к совершенно непредсказуемым последствиям. Прими себе за правило: есть *.H/*.HPP - подключай include-ом. Есть *.C/*.CPP - добавляй в проект (в смысле, "Add to Project"). Разные C/CPP файлы должны компилироваться отдельно. А ты заставляешь компилятор считать, что у тебя есть один больщой CPP-файл. А внесешь в него исправления - что будет? Будет перекомпилироваться ВСЁ сразу. А если подключить к проекту два файла-исходника, то перекомпилируется только тот исходник, который изменялся, экономишь время компиляции. Да и вообще - дело не в экономии времени. Дело - в том, что нельзя делать балаган в программах - они не для этого написаны. Если в данном конкретном случае у тебя подключение обоих файлов решает проблему - это не значит, что такое решение правильное. Это плохой способ. P.S. Страуструп - это, конечно, хорошо, но не для начинающего... |
sheka |
![]()
Сообщение
#5
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Прикольно, впервые создал проэкт)
Вроде само файлы *.о посоздавало и подключило. |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 20:46 |