Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как сделать dll из .pas

378
28 августа 2006 года
KurL
171 / / 01.08.2005
у меня есть паскалевский код, некоторые функции из которого я хочу дёргать из сишной программы.

можно ли для этого сделать dll из .pas (если да, то как)?
3.3K
28 августа 2006 года
ShadyMan
191 / / 15.07.2006
Так в чём вопрос? Откомпилировать pas-файл в библиотеку, а потом подключить её к своему проекту на С.
20K
29 августа 2006 года
SerejK
5 / / 25.08.2006
Ну я бы делал так...
Создал бы в Delphi пустой проект для dll`ки, передрал бы туда все функции из паскалевского файла, дописал бы внизу, какие функции экспортировать, и откомпилил...Все должно работать...:-)
273
29 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
Скомпилить DLL можно и на паскале. Выбираем в компиляторе режим Real mode или Windows. Дальше вот пример:
Код:
[FONT=Courier New]library[/FONT] [FONT=Courier New]myDll;[/FONT]
[FONT=Courier New]function GetSquare(base : integer) : integer; export; [COLOR=blue]{__declspec(dllimport) int GetSquare(int base)}[/COLOR]
begin
     GetSquare := base * base;
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]exports GetSquare;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]begin
  [COLOR=blue]{здесь точка входа в DLL}[/COLOR][/FONT]
[FONT=Courier New]end.[/FONT]

Так что тебе нужно немного изменить свой исходник, поменяв program на library и добавить к нужным функциям директиву export и указать названия функций в exports-списке.
261
07 октября 2006 года
ahilles
1.5K / / 03.11.2005
приведённый код возможен только на delphi а на паскале он не попрёт (я говорю про turbo pascal 7.0)
257
07 октября 2006 года
kosfiz
1.6K / / 18.09.2005
[QUOTE=ahilles]приведённый код возможен только на delphi а на паскале он не попрёт (я говорю про turbo pascal 7.0)[/QUOTE]
в турбо паскале 7.0 1992г. в справке указано, что код подобный тому, который привел 3A3-968M служит для создания длл - хотел попробовать, но не нашел, где поменять режим компилятора, там чето ниче подобного нет. Зато в Borland Pascal for Windows 7.0 1992г. данный код работает и получается дллшка.
273
08 октября 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=kosfiz]в турбо паскале 7.0 1992г. в справке указано, что код подобный тому, который привел 3A3-968M служит для создания длл - хотел попробовать, но не нашел, где поменять режим компилятора, там чето ниче подобного нет. Зато в Borland Pascal for Windows 7.0 1992г. данный код работает и получается дллшка.[/quote]
В турбо паскале 7.0, который под DOS запускается за 1992 г. есть режимы компиляции. Меню Compile->Target
257
08 октября 2006 года
kosfiz
1.6K / / 18.09.2005
а у меня все выглядит след. образом:
compile->compile
make
build
destination
primary file
clear primary file
information
как быть?
10
09 октября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=kosfiz]как быть?[/QUOTE]
Было две версии Паскаля: Turbo и Borland. Последний позволял выбирать платформу (Target). Смотреть версию в About и искать другую версию, если надо.
257
09 октября 2006 года
kosfiz
1.6K / / 18.09.2005
я только не понял че тогда в турбо в справке, т.е. их официальном хелпе, тогда написано про создание длл - просто интересно. нашел борланд версию ей и пользуюсь и все получается как ранее писал.
10
10 октября 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=kosfiz]я только не понял че тогда в турбо в справке, т.е. их официальном хелпе, тогда написано про создание длл - просто интересно.[/QUOTE]
Сэкономили на поддержке одновременно двух версий.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог