|
|
  |
Где хранить свои lib? |
|
|
|
May 26 2008, 07:44
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228

|
Есть несколько проектов и общее lib, где размещать lib? Литература на это тему есть?
|
|
|
|
|
May 27 2008, 06:42
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228

|
Цитата(zltigo @ May 26 2008, 12:07)  А без "литературы", просто подумать и сделать так, как разумно для этого случая? не хотелось бы велосипед изобретать, тем более что все тонкости сразу не учтеш.
|
|
|
|
|
May 27 2008, 08:18
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228

|
Цитата(rezident @ May 26 2008, 13:56)  У меня используется структура подкаталогов. Хидеры в каталоге _INC лежат, исходники в каталоге _LIB. Все пути в исходниках использую относительные. Общие для нескольких проектов исходники и хидеры лежат в одноименных каталогах, но уровнем выше. Перенести проект на другой диск или в другой подкаталог с сохранением структуры проекта не составляет особой сложности. С хидерами вроде понятно, для подключения пишем: #include "..\_LIB\file.h" (порядок включения, как я понимаю, - после хидеров проекта, перед стандартной библиотекой) Можно наврное, добавлять путь"..\_INC\" в опциях предпроцессора, но тогда будут проблемы при однаковых именах хидеров, и менее наглядно, чем "..\_LIB\file.h" - сразу видну что хидер из библиотеки. А исходники библиотеки придется добовлять в проект? Чего лучше использовать исходники или объектные? И еще вопрос, в чем приимущества перед размещением в toolkit_dir?
|
|
|
|
|
May 27 2008, 08:26
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(HEX @ May 27 2008, 10:18)  С хидерами вроде понятно, для подключения пишем: #include "..\_LIB\file.h" Ну "наглядность" наглядностью, а возможность тасовки исходников резко снижается. Оптимальнее пути поиска все-же указывать компилятору. Цитата (порядок включения, как я понимаю, - после хидеров проекта, перед стандартной библиотекой) Ну для начала стандартные указвабтся прежде всего, ибо по опредлению совершенно не зависят от того, что Вы дальше напишите. Остальное. Цитата А исходники библиотеки придется добовлять в проект? Чего лучше использовать исходники или объектные? Лучше ни то, ни другое - лучше библиотеки. Ну они именно для этого сосданы и именно так и называются
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 27 2008, 09:40
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 25-11-04
Из: Тула
Пользователь №: 1 228

|
Цитата(zltigo @ May 27 2008, 12:26)  Лучше ни то, ни другое - лучше библиотеки. Ну они именно для этого сосданы и именно так и называются  А как будет происходить отладка? можно будет посмотреть чего делается в модулях библиотеки? Цитата(zltigo @ May 27 2008, 12:26)  Ну для начала стандартные указвабтся прежде всего, ибо по опредлению совершенно не зависят от того, что Вы дальше напишите. Остальное. В умных книжках рекомендует включать хидеры от специализированных к более общим, цитата (в цитате) из книги Брюс Эккель Филосовия С++: Заголовки включаются в порядке "отспециализированных к общим". Иначе говоря сначала включаются все заголовочные файлы в текущим каталоге, затем заголовочные файлы личного инструментария автора, затем заголовки стандартной библиотеки С++ и наконец, - заголовочные файлы библиотеки С. Джон Лакос в своей книги "Large-Scale C++ Software Deign" так обосновывает эту последовательность Автономная обработка h-файлов компонента (без внешних объявлений и определений) помогает предотвратить скрытые ошибки. Включение h-файла в самой первой строке c-файла гарантирует присутствие всей критически важной информации, относящейся к физическому интерфейса компонент (или ее отсутствие обнаружиться немедленно при попытке откомпилировать c-файл). Если заголовочные файлы включаются в порядке "от специализированных к общим", вы быстрее обнаружите те из них, которые не обрабатываются автономно, и избавите сеюя от дальнейших огорчений.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|