Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

VC модуль в проекте Delphi   Найти похожие ветки 

 
dima_matrix ©   (2003-07-03 21:23) [0]

И все же может кто-нибудь знает можно ли как-то статически скомпоновать модуль VC (в любом виде-obj, lib, dll) с проектом на Delphi? Очень необходимая вещь, был бы рад за любую помощь...


 
Poirot ©   (2003-07-03 21:26) [1]

с ДЛЛ проблемы недолжно быть!
Делаешь подетски например dll с функ int fun(int q);
в делфях
это часть имплементеёшана!
function f(q:integer):integer; extern "my.dll";


 
Poirot ©   (2003-07-03 21:28) [2]

хотя может вы что-то другое имели ввиду!
Скорей всего... длл статически помоему не компануется... а вот с обж и либ - тркдности есть - разбирали в недавнем прошлом!!!


 
Erik ©   (2003-07-04 10:34) [3]

Можно объектный фаил прилинковать из VC.


 
Poirot ©   (2003-07-04 10:42) [4]


> Erik ©

как сделаете - напишите?


 
Radionov Alexey ©   (2003-07-04 10:46) [5]

>Erik © (04.07.03 10:34)
Упаришься. DLL - самый быстрый путь


 
dima_matrix ©   (2003-07-04 19:33) [6]

Спасибо всем за ответы.
2 Poirot:
Я действительно имел в виду не совсем то - нужно СТАТИЧЕСКИ прилинковать модуль. Да, dll на то и динамическая библиотека чтоб динамически линковать, но мало ли сколько в мире извращений бывает, я думал может кто и сталкивался с таким :-)) Либы Делфи кажется напрочь не воспринимает, а вот с объектниками Alexey прав, в разных форматах объектники генерят майкрософтовские произведения и борландовские.

2 Erik:
Если знаешь как прилинковать - расскажи, пожалуйста, всем же интересно.


 
Poirot ©   (2003-07-04 19:35) [7]


> Либы Делфи кажется напрочь не воспринимает, а вот с объектниками
> Alexey прав, в разных форматах объектники генерят майкрософтовские
> произведения и борландовские.

вот к этому и была реплика - если у него получится, то путь напишет....


 
Dimaxx ©   (2003-07-04 23:46) [8]

OBJ (асмовский, vc и другой похожий) можно прилинковать с помощью {$I <имя obj-файла>}. Далее об.явить процедуры и вперед. Кто не понял - смотри в модуль zlib.pas - там как раз линкуются obj-файлы.


 
Dimaxx ©   (2003-07-04 23:46) [9]

Пардон, ошибочка вышла - не {$I}, а {$L}!


 
default ©   (2003-07-05 00:13) [10]

вот пример
файл PROG.ASM в нём описана внешняя процедура IntToBin

.386
model small
.code
IntToBin proc
public IntToBin

push ebx
xor ebx, ebx
mov ecx, 32
cycle:
shl eax, 1
jc bit_on
mov byte ptr [edx+ebx], "0"
jmp bit_off
bit_on:
mov byte ptr [edx+ebx], "1"
bit_off:
inc ebx
loop cycle
pop ebx
ret

IntToBin endp
end


далее используя утилиту TLINK.EXE(TLINK32.EXE)
получаем файл PROG.OBJ
TLINK PROG.ASM --> PROG.OBJ
далее пишем (в Delphi)

procedure IntToBin(Value: Cardinal; StrP: Pointer); external;
{$L C:\PROG.OBJ}

компилируем модуль и теперь можно использовать IntToBin


 
Poirot ©   (2003-07-05 02:08) [11]


> default ©

asm проходит - никто и не говорит что нет...
а вот от ВЦ - ошибка в формате обж вылетает... обж просто не линкуется с прогой.....


 
default ©   (2003-07-05 02:13) [12]

Poirot © (05.07.03 02:08)
может неправильное соглашение о вызове?
в Си параметры передаются справа налево, в паскале наоборот


 
default ©   (2003-07-05 02:15) [13]

Poirot © (05.07.03 02:08)
может неправильное соглашение о вызове?
в Си параметры передаются справа налево, в Паскале наоборот





 
dima_matrix ©   (2003-07-05 14:31) [14]

Все это хорошо и правильно :-))
Ассемблерные модули можно компилировать в разных форматах COFF или OMF и майкрософтовских и борландовских производителей, для этого параметры задаются. А TLINK, если я не ошибаюсь, еще и борландовское произведение, есстественно он генерит в формате OMF и Делфи чудесно все подымает.
По поводу параметров слева направо и справа налево - dll же подымаются легко, для этого stdcall и придумали.
А вотс форматами объектников очень плохо, VC компилятор творит все в COFF-формате, а Делфи, соответственно, в OMF. И, блин, в настройках я ничего интересного не нашел.
Видел только программу COFF2OMF, одну 94 года выпуска, видимо с тех пор изменились оба формата, потому как после конвертации получившийся объектник очень похож на OMF, но не совсем (использовал программулину ftyp для определения типа файлов), и Делфи его не понимает. И вторую видел в поствке к СиБилдеру, так она только либы и длли конвертит :-((. Может кто видел еще чего подобного? Был бы премного благодарен!! :-)))



Страницы: 1 вся ветка

Текущий архив: 2003.07.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.036 c
3-55408
andrew_ros1
2003-06-21 13:42
2003.07.17
Вечный вопрос:


14-55795
Malder
2003-06-27 19:39
2003.07.17
Предложения по организации форума


3-55472
Виталий_
2003-06-22 15:35
2003.07.17
Данные в Excel


14-55822
Darts
2003-07-01 12:09
2003.07.17
Вакансия программиста Borland Basic :))


11-55486
Avenger__
2002-11-09 14:08
2003.07.17
ListView and WinXp