![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| CyraxZ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
Нашёл много всяких статей по работе с dll, но, во-первых, многие друг друга дублируют, во-вторых, практически все статьи раскрывают какую-то конкретную узкую тему, в-третьих, про lib-файлы, если где и говорится, то вскользь...
Ищу хорошие статьи или электронные книги по работе с dll- и lib-файлами, где последовательно излагается общая информация с постепенным углублением. Т.е., начиная с назначения dll- и lib-файлов до их структуры, разновидностей, calling_convention и т.д. Мне необходимо работать с dll- и lib-файлами в стандартном C++, т.е. не использовать директивы и команды какой-либо IDE. (Хотя пишу в C++ Builder, но в целях переносимости ничего Borland'овского не использую). Т.е. документация требуется применительно стандарта С++, а также C++ Builder... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
Поскольку это изобретение Microsof, то логично предположить, что информация есть на их сайте, т.е. msdn: http://msdn2.microsoft.com/en-us/library/ms682589.aspx http://msdn2.microsoft.com/en-us/library/1...h12(VS.71).aspx http://msdn2.microsoft.com/en-us/library/m...627(VS.80).aspx Стандарт С++ о них ничего не знает. |
|||
|
||||
| OneFourth |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 17.1.2006 Репутация: нет Всего: нет |
Посмотри еще на codeproject.com. В свое время нашел там не плохие статейки.
|
|||
|
||||
| zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Эх, хочется чего-то кроссплатформенного во-первых на уровне исходников, но и при условии не использования натива, на уровне бинарников... недостижимая мечта =)
Это сообщение отредактировал(а) zabivator - 14.12.2006, 16:46 --------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
zabivator, достижимая. Раньше или позже 1-ый пункт будет в стандарте (все оси в том или ином виде реализуют сие). Второе невозможно (в чистом виде, только специальная промежуточная платформа вроде явы или дотнета). Даже самое тривиальное приложение использует осёвое апи. Ввод/вывод - уже ося.
|
|||
|
||||
| zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
Любитель, а если у меня подключаемая библиотека использует только stl & boost & qt - то что мешает? В винде поднимается одни версии бинарников (буста и кутэ), в лине другие.
Это сообщение отредактировал(а) zabivator - 14.12.2006, 18:42 --------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Да, но хотя бы те же потоки в Винде и Линухах - это разная вещь. Как минимум с разными именами функций и типов. Так что дело не только в бинарниках. |
|||
|
||||
| CyraxZ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 10.12.2006 Репутация: нет Всего: нет |
Daevaorn
Я имел ввиду _stdcall-соглашение... |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Технология вызова-то разная. Работа с динамическими библиотеками - это явно осёво-зависимая вещь. CyraxZ, __stdcall точно не относится к стандарту (потому и начинается с подчёркиваний - так принято). С помощью него универсальной переносимости не добьёшься (компилер не обязан его реализовывать). |
|||
|
||||
| HappyLife |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Думаю я знаю чего хочет автор, и это сделать невозможно.
Автор хочет уйти от использования delcspec'ов. Но компилятор, обязан знать, какие функции в конечном файле сделать экспортируемыми. От стандартна С++ это независит. Это даже не борландская примочка, а это соглашения Windows. Экспорт и импорт ДЛЛ на чистом СИ и даже АПИ не сделать. Это сообщение отредактировал(а) HappyLife - 15.12.2006, 16:37 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |