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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отлчие obj и lib файлов 
:(
    Опции темы
nmn
Дата 8.12.2009, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Объясните пожалуйста в кратце в чем отличие данных типов файлов? Оба ведь используются для импорта функций. Или obj используется линкером только как скомпилированный вариант cpp файла, а lib позволяет импортировать соверешнно посторонние функции?
PM Skype   Вверх
mrbrooks
Дата 8.12.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



*.obj - создается компилятором
*.obj + *.lib + еще там че нить - дает нам *.exe

вообще, в соответствие с правилом кошерности, в любой мало-мальской книге по программированию, уделяется место вопросам о компиляторе, компоновщике и т.д. 

ЗЫ. Конечно парни типа Фленова на это забивают болт. А люди их читают.
PM MAIL   Вверх
nmn
Дата 8.12.2009, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mrbrooks @  8.12.2009,  09:13 Найти цитируемый пост)
*.obj - создается компилятором
*.obj + *.lib + еще там че нить - дает нам *.exe

вообще, в соответствие с правилом кошерности, в любой мало-мальской книге по программированию, уделяется место вопросам о компиляторе, компоновщике и т.д. 

ЗЫ. Конечно парни типа Фленова на это забивают болт. А люди их читают.


а теперь по теме вопроса можно? smile

Это сообщение отредактировал(а) nmn - 8.12.2009, 09:34
PM Skype   Вверх
mrbrooks
Дата 8.12.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

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



Цитата(nmn @  8.12.2009,  09:33 Найти цитируемый пост)
а теперь по теме вопроса можно?


Цитата(mrbrooks @  8.12.2009,  09:13 Найти цитируемый пост)
вообще, в соответствие с правилом кошерности, в любой мало-мальской книге по программированию, уделяется место вопросам о компиляторе, компоновщике и т.д. 


тебе перепечатать? или все еще не понятно по поводу:
Цитата(nmn @  8.12.2009,  01:17 Найти цитируемый пост)
obj используется линкером только как скомпилированный вариант cpp файла, а lib позволяет импортировать соверешнно посторонние функции? 


Добавлено через 1 минуту и 37 секунд
nmn, так же погугли по поводу статических и динамических библиотек. 
PM MAIL   Вверх
nmn
Дата 8.12.2009, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



мда
т.е. отличие obj и lib файла в том что obj создается компилятором, а lib+obj+ченить это exe?
переведи это на русский пожалуйста

до книг не надо посылать, я просил кратко объяснить разницу между этими двумя файлам

ни в одном из постов не уделяется внимание этому
Цитата

Или obj используется линкером только как скомпилированный вариант cpp файла, а lib позволяет импортировать соверешнно посторонние функции?


PM Skype   Вверх
unicuum
  Дата 8.12.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



сделаю предположение:

cpp - единица компиляции => препроцессирование => компиляция => ассемблирование => объектный файл

компоновка (она же линковка):

объектный файл + ... + объектный файл => статическая компоновка => статически скомпонованная библиотека
объектный файл + ... + объектный файл => динамическая компоновка => динамически скомпонованная библиотека

Цитата(гугло книги - Системное программное обеспечение: Учебник для вузов)

Объектный код статической библиотеки подключается компоновщиком к результирующей программе при создании исполняемого модуля. Поэтому по своей структуре статическая библиотека мало чем отличается от обычных объектных файлов, порождаемых компилятором. Чаще всего система программирования хранит объектный код входящих в её состав библиотек в некотором упакованном виде. При подключении библиотеки к исполняемому файлу компоновщик распаковывает её код и встраивает его в общий объектный код результирующей программы в обычном порядке.



--------------------
user posted image
обычный день на винграде
PM   Вверх
bsa
Дата 8.12.2009, 12:18 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



nmn, статическая либа (*.lib), это архив obj, т.е. ее можно распаковать в исходные объектные файлы (*.obj). Библиотека импорта для *.dll - это такой файл, который просто содержит информацию о символах, которые предоставляет dll библиотека. dll библиотека - это по сути тот же exe файл, только без функции main()/WinMain(), основной задачей которого является предоставление функций сторонним exe файлам. В принципе, никто не запрещает писать программы и делать их в виде dll, чем довольно часто вирусописатели и занимаются. Чтобы "запустить" такую библиотеку, используется программа rundll32.exe, которой в качестве параметров нужно указать библиотеку и функцию, которою необходимо в ней запустить.
PM   Вверх
xvr
Дата 8.12.2009, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Рекомендую взять прогу dumpbin из VS и натравить ее на какие нибудь .obj и .lib и посмотреть выдачу. Как говорится - лучше один раз увидеть, чем 100 раз услышать   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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