Сейчас на форуме: UniSoft, zds, ManHunter, rmn (+5 невидимых)

 eXeL@B —› Программирование —› вопрос про статическое подкл библиотек с++
Посл.ответ Сообщение


Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 29 января 2012 20:10
· Личное сообщение · #1

Кароче есть у меня пара библиотек, из которых надо импортировать функции.
lib файлы вроде сделал, а как обратиться к функциям то. Использую MVSC 2010 c++.
как-то там .h файлы надо делать, сколько не читал, чё-то не пойму.
В гугле меня не забанили, но не нашёл(видимо неправильно ставил запрос)
В свойствах проекта покдлючил либ, и линковщик видит мой lib. Но обратиться к функции не знаю как.


Да я новичёк, так что переносить в вопросы новичков или нет решайте сами, думаю здесь теме самое место(или в корзине)



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 29 января 2012 20:26 · Поправил: Veliant
· Личное сообщение · #2

Нужен обычный хидер с прототипами. В крайнем случае перед прототипами добавь слово extern




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 29 января 2012 20:43
· Личное сообщение · #3

Veliant, а пример нельзя какой-нибудь, а то как раз не могу понять как написать .h




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 29 января 2012 20:58
· Личное сообщение · #4

Пример хедера? В поставку студии входит овер 9000 хедеров, возьми да смотри любой.




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 29 января 2012 21:07
· Личное сообщение · #5

Archer, именно как описать для импорта.



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 29 января 2012 21:57
· Личное сообщение · #6

Dart Sergius
Зависит от функций в библиотеке. Приведи примеры.
Если там что-то типа
_ABCDE - это одно
_ABCDE@4 - это другое
??@ABCDE@@Z@ - это третье
Соответственно объявления в хидерах будут разные.

-----
старый пень





Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 29 января 2012 22:13
· Личное сообщение · #7

r_e, только первого типа, например abc_deb



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 30 января 2012 01:10 · Поправил: Hexxx
· Личное сообщение · #8

Dart Sergius пишет:
Но обратиться к функции не знаю как.

если первого типа и из cpp то

extern "C" тип_вовзращаемого_значения конвенция_вызова имя_функции(аргументы);

-----
Реверсивная инженерия - написание кода идентичного натуральному


| Сообщение посчитали полезным: Dart Sergius


Ранг: 331.1 (мудрец), 561thx
Активность: 0.190.06
Статус: Участник

Создано: 30 января 2012 11:58
· Личное сообщение · #9

Dart Sergius
именно как описать для импорта
Создай в студии dll проект с примером кода - получишь заготовку из 3 файлов (cpp, h и def) для использования чужой либы в своем проекте. В h файл пишешь объявления, в def - экспорт, а в cpp просто втыкаешь пустышки функций. Компилишь и получаешь lib файл, который и включаешь в свой проект...

-----
Everything is relative...


| Сообщение посчитали полезным: Dart Sergius


Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 30 января 2012 12:46
· Личное сообщение · #10

Всем спасибо, разобрался.


 eXeL@B —› Программирование —› вопрос про статическое подкл библиотек с++
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати