Size: a a a

2020 March 30

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
не дают выспаться.
снег - смена погоды - гипертония.
просто язык меняется, может, что-то случилось.
итак, если в "unit a" я в секции интерфейса объявлю функцию "blabla", и подключу этот юнит через uses к модулю библиотеки, я могу просто это самое blabla в секцию экспорта засунуть или надо переобъявить?
можешь засунуть просто
exports bla-bla
источник

AK

Alexey Kulakov in Delphi & Lazarus
а... вот ещё вопрос. Ну, имя паблика задавать отличное от кодового не буду, ок. А имеет ли смысл индекс назначать?
источник

AK

Alexey Kulakov in Delphi & Lazarus
если брать расчёт на то, что Сшный код может вызывать, понятно, что stdcall или cdecl вызов делать, ну, и не использовать всякие там class/string  а вот индексы? это к вопросу хорошего стиля
источник

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
а... вот ещё вопрос. Ну, имя паблика задавать отличное от кодового не буду, ок. А имеет ли смысл индекс назначать?
про какие индексы речь?
у меня, видимо, пробел тут какой-то))
источник

AK

Alexey Kulakov in Delphi & Lazarus
library testdll;
uses unita;
exports
 blabla index 12
end.
источник

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
library testdll;
uses unita;
exports
 blabla index 12
end.
да я уж читаю ))
источник

AK

Alexey Kulakov in Delphi & Lazarus
просто собираюсь переписать чужой код с С++ и фреймворка под себя, но там, правда, своя задница, там целый класс в экспорт идёт :(
источник

AS

Alexey Shumkin in Delphi & Lazarus
по-моему, никто их не будет использовать ))
это накладывает ограничения, которые не стоят профита, по-моему
источник

AK

Alexey Kulakov in Delphi & Lazarus
видимо, у меня придется отдельными функциями оформлять, чтоб упростить совместимость
источник

AK

Alexey Kulakov in Delphi & Lazarus
ну, значит, по старинке, просто экспортировать имена
источник

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
ну, значит, по старинке, просто экспортировать имена
ну, это лично МОЁ мнение ))
источник

AK

Alexey Kulakov in Delphi & Lazarus
вот такое не хочется видеть в секции экспорта
источник

AK

Alexey Kulakov in Delphi & Lazarus
ибо такое реально проще по индексу уже подключать при динамическом подключении. (это элементы класса, если что)
источник

SB

Sergey Bodrov in Delphi & Lazarus
Alexey Kulakov
если я собираюсь делать  ДЛЛку, мне нужно в экспорт поместить несколько функций, это понятно (что константы в виде строк не туда суются, а в лучшем случае в ресурсы. кстати, секция resourcestring хз ещё как будет выглядеть), а вот если мне надо дллку собрать из нескольких модулей? можно попробовать include использовать, конечно, а как быть с unit? дублировать секцию экспортную в основном файле (либо делать враппер)?
DLL это проект типа library. Что в файле проекта экспортируешь, то и будет видно в DLL.
источник

AK

Alexey Kulakov in Delphi & Lazarus
да я понимаю. говорю же, просто если потом делать расчёт на использвоаине с разными компиляторами, надо обеспечить какую-то совместимость, а этот образец показывает не только name mangling но и экспорт целого класса
источник

SB

Sergey Bodrov in Delphi & Lazarus
источник

SB

Sergey Bodrov in Delphi & Lazarus
Там есть простой пример, как давать экспортным функциям имена.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Note: Use of index specifiers, which are supported for backward compatibility only, is discouraged and may cause problems for other development tools.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Это у страуструпов без геморроя как без пряников. А в паскале все просто.
источник

AK

Alexey Kulakov in Delphi & Lazarus
было бы просто, был бы экспорт нетолько кода, но и данных... или методов класса :(
источник