Текущий архив: 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.47 MB
Время: 0.007 c