Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Вниз

BCC32 --> Delphi   Найти похожие ветки 

 
pasha_golub ©   (2005-05-17 15:40) [0]

Хочу включить (прилинковать) объектники от bcc55 к Дельфовому проекту.

Объекников уже накомпилил. Все путем прописал в Делфе, необходимые функции (которые раньше экспортировались из ДЛЛ) определил, но...

Имею такого рода сообщения:
[Error] .. Unsatisfied forward or external declaration: "_sprintf",
"_strlen"
"__streams"
"_isalnum"
"_fprintf"
"_memset"
"_memcpy"

И т.д.

Судя по названиям это методы из CBuilder"овского RTL. Так вот хочу спросить. Как мне заставить (мож ключ какой есть) компилятор bcc32.exe включить (экспортировать) этот код в объектники?

И вообще, так как мыслей у меня по этому поводу нет абсолютно уже. Прошу высказываться. Только плиз не спрашивайте, чем мешала DLL, так надо. Спасибо.

Если кто ткнет носом в статьи или еще чего, буду только признателен.

ЗЫ Можно обзываться, мне уже пофиг. ;0)


 
Desdechado ©   (2005-05-17 16:10) [1]

1. что-то мне помнится, можно отключить эти подчеркивания
2. а нельзя ли в С-исходниках использовать WinAPI с этими функциями?

PS про модели вызова не забыл?


 
wicked ©   (2005-05-17 16:16) [2]


> Как мне заставить (мож ключ какой есть) компилятор bcc32.exe
> включить (экспортировать) этот код в объектники?

никак, поскольку он этим не заведует....
варианты:
1) написать свои паскаль-заглушки с моделью вызова cdecl для этих функций....
2) разобрать сишный RTL по косточкам, по obj то есть, с помощью TLIB"а и линковаться с ними... этот вариант лучше для таких функций, как sprintf, но несравненно хуже для распределителя памяти...


 
pasha_golub ©   (2005-05-17 16:20) [3]

Desdechado ©   (17.05.05 16:10) [1]
1. что-то мне помнится, можно отключить эти подчеркивания
Ничего не могу сказать про это.

2. а нельзя ли в С-исходниках использовать WinAPI с этими функциями?
Исходники кроссплатформенные, разруливаются внутри директивами и т.д. То есть легче реализовать на Паскале, чем пробовать переделать на С.

wicked ©   (17.05.05 16:16) [2]
1) написать свои паскаль-заглушки с моделью вызова cdecl для этих функций....
Была идея... Как увидел кол-во работы, сразу отбросил.

2) разобрать сишный RTL по косточкам, по obj то есть, с помощью TLIB"а и линковаться с ними... этот вариант лучше для таких функций, как sprintf, но несравненно хуже для распределителя памяти...

Вопрос: Как? Вот именно это я и хочу... Наверное. :)


 
Alx2 ©   (2005-05-17 16:29) [4]

>pasha_golub ©   (17.05.05 16:20) [3]
Паш, почему от DLL ушел?


 
pasha_golub ©   (2005-05-17 16:32) [5]

Вот, нашел. Не оно ли:

-RT Enable runtime type information (Default)

Може его отлкючить?


 
pasha_golub ©   (2005-05-17 16:34) [6]

Alx2 ©   (17.05.05 16:29) [4]
Еще, не ушел, как вишь... :) Конкуренция.

Плюс ДЛЛ не одна, а 4, плюс к ней еще две утильки... Вообщем, некрасиво.


 
pasha_golub ©   (2005-05-17 16:36) [7]

-R Include browser information in generated .OBJ files

И вот это че значить?


 
pasha_golub ©   (2005-05-17 16:38) [8]

-R Include browser information in generated .OBJ files

И вот это че значить?

И вот это меня смущает. Может поставить чтобы компилилось с public ключом?

-V Use smart C++ virtual tables (Default)
-V0 External C++ virtual tables
-V1 Public C++ virtual tables


 
Alx2 ©   (2005-05-17 16:43) [9]

Если таки впиявишь объектники, в которых используется чужеродная RTL (вместе с RTL, естественно (тяжелый, неблагодарный труд ;-) )) - будет жуткая пародия на DLL :)


 
Desdechado ©   (2005-05-17 16:43) [10]

-u
по умолчанию включено
отключение убирает подчеркивания


 
wicked ©   (2005-05-17 16:46) [11]

> pasha_golub ©   (17.05.05 16:20) [3]
tlib - читаем, что он выдаст (справку)....
то, что нужно, лежит в файлах
cp32mt.lib
cp32mti.lib
cw32.lib
cw32i.lib
cw32mt.lib
cw32mti.lib
это разные версии одного RTL"а... честно говоря, не знаю, какой для чего (смутные предположения, что mt значит multithreaded), но думаю, что это уже можно будет в гугле найти...
дальше просто - разбираем на *.obj, нужное линкуем через {$L}, повторяем до тех пор, пока линкер не успокоится, молимся, запускаем, смотрим, что получилось.... ;)


 
pasha_golub ©   (2005-05-17 16:52) [12]

wicked ©   (17.05.05 16:46) [11]
Спасиб. Я почти до этого дошел... :0)

ЗЫ Молюмь с утра. Уже три бубна поломал. :0)

Desdechado ©   (17.05.05 16:43) [10]
Ругается, мол пытаюсь экспортировать с подчеркиванием, а его нема.


 
pasha_golub ©   (2005-05-17 16:54) [13]

Alx2 ©   (17.05.05 16:43) [9]
Если ты не можешь чтобы что-то работало хорошо, сделай чтобы оно выглядело хорошо (с) Вольный пересказ Б.Гейцца.

;0)


 
pasha_golub ©   (2005-05-17 17:16) [14]

wicked ©   (17.05.05 16:46) [11]
По поводу multi threaded абсолютно прав.


 
pasha_golub (temp)   (2005-05-18 09:02) [15]

Вообщем, разбираю тлибом RTL. Пока, особіх возражений от линкера Дельфового не слішал.

Вопрос в другом. Появляются сообщения вида:
"Unsatisfied external or forward ... of <func1>"

1. эта функция уже есть в одном из объектников
2. Эта функция мною не будет использоваться, поэтому я ее не декларировал.
3. Эта функция вызывается из места, которое лежит в другом объектнике.

Что значит сообщение? Что линкер не могет понять как ее вызывать?

То есть мне потребуется задекларировать все функции которые есть в объектниках? Вообщем, жуть.

ЗЫ Срочно Куплю бубен, желательно шаманский.


 
wicked ©   (2005-05-18 13:03) [16]

> pasha_golub (temp)   (18.05.05 09:02) [15]
это значит, что функция эта вызывается в одном из обьектников, но линкер не находит тела функции для того, чтоб отрезолвить вызов... соответственно, надо линковать обьектник с телом функции...


 
pasha_golub ©   (2005-05-18 18:42) [17]

wicked ©   (18.05.05 13:03) [16]
Все объектники со всеми функциями есть... Так шо шото тут не то...



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

Форум: "Потрепаться";
Текущий архив: 2005.06.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
1-1116514026
Oleg_
2005-05-19 18:47
2005.06.06
структуры в safearray реально?


14-1116581327
BigMac
2005-05-20 13:28
2005.06.06
IMEI


6-1111510899
LordNet
2005-03-22 20:01
2005.06.06
TWebBrowser


1-1116499390
Grief
2005-05-19 14:43
2005.06.06
Клейкое окошко...


14-1116441712
AlterEgo of WondeRu
2005-05-18 22:41
2005.06.06
Есть ли прибамбас - ТуллбарКнопка для IE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский