|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2012, 22:37 | #1 |
Пользователь
Регистрация: 05.05.2008
Сообщений: 19
|
Экспорт функции def файл
Здравствуйте,хочу экспортировать функцию с помощью .def файла, с помощью extern "C" _declspec..... экспортировал успешно, хочу реализовать теперь другим способом. Вот мои последовательные действия, где накосячил, подскажите пожалуйста, так как в интеренете везде пишется по разному, начиная от имени dll-ки в def файле и заканчивая обращением к функции в самом проекте.
1. Создаю обычный проект console win32. 2. Создаю библиотеку console win32->DLL->Export Symbols 3. В хидаре библиотеке: /dll.h #ifndef DLL_H #define DLL_H int summa(int,a,int b) #endif 4.cpp-ник: /dll.cpp #include "stdafx.h" #include "dll.h" int summa(int a,int b) { return a+b; } 5. Получаю dll.dll и помещаю в папку с проектом 6. Создаю .def файл /dll.def LIBRARY "dll.dll" EXPORTS summa @1 //(пробовал и просто summa без @1) 7. Помещаю dll.def так же в папку с проектом 8. Код самого проекта #include<isotream> using namespace std; inta main() { typedef int (*Fu)(int a, int b) Fu fu1; HINSTANCE h; h=LoadLibraryA("dll.dll"); int a=10; int b=13; Fu1=(Fu)GetProcAddress(h,"summa"); // (пробовал и GetProcAdress(h,"1") и GetProcAdress(h,"@1")) cout << Fu1(a,b); system("PAUSE"); } Так же интересует вопрос экспортирования класса,а не отдельной функции. Импортировать класс у меня не получилось ни декларирование ни .def файлом. Спасибо за внимание! //Вопрос к Админа, по какой причине название темы "Экспортирования функции с помощью .def файла" является некорретным? |
10.10.2012, 22:45 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
def файл нужно прописать в свойствах линкера у проекта.
класс через def помоему не экпортируется, ибо не портабельно это в принципе. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.10.2012, 22:49 | #3 |
Пользователь
Регистрация: 05.05.2008
Сообщений: 19
|
Ты имеешь в виду Link->Input->Module Definition File? и там просто указать название деф файла или что-то более конкретно? А в остальном?
Последний раз редактировалось Smart; 10.10.2012 в 22:53. |
10.10.2012, 23:55 | #4 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
помоему раз def в папке с проектом достаточно его имени(вашего дефа) просто. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
11.10.2012, 00:00 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
11.10.2012, 09:03 | #6 |
Пользователь
Регистрация: 05.05.2008
Сообщений: 19
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Экспорт в csv файл | propoker23 | Общие вопросы Delphi | 1 | 12.01.2012 01:37 |
Экспорт функции C++ в библиотеку DLL | lebedevmd | Фриланс | 2 | 12.04.2011 14:45 |
Как слинковать .def файл? | mike_tihomirov | Общие вопросы C/C++ | 1 | 15.02.2010 15:18 |
Проблема с .def файлом!!! | HellStranger | Общие вопросы C/C++ | 0 | 17.09.2009 16:39 |
Экспорт записи в *.dbf файл | Galgi | БД в Delphi | 2 | 20.02.2008 07:02 |