Size: a a a

2021 June 05

..

. . in Ada
function RetStrAda return chars_ptr;
  pragma Export (C, RetStrAda,"rsada");
источник

..

. . in Ada
Я бы даже сказал что немного удобнее чем с питоном, где надо озабочиваться конверсией параметров.
источник

..

. . in Ada
import ctypes
libc = ctypes.CDLL("./dll_lib/libada.dll")
libc.rsada.restype = ctypes.c_char_p
result=libc.rsada()

vs

use Win32::API;
$rsada = Win32::API->new( './dll_lib/libada.dll', 'char* rsada()')  or die "error: $!\n";
$result = $rsada->Call();
источник

..

. . in Ada
При этом ещё и корректность подключения библиотеки проверяется и  прототип тестируется...
источник

..

. . in Ada
with Interfaces.C,Interfaces.C.Strings;
use  Interfaces.C,Interfaces.C.Strings;
package body Ada_Lib is
  function RetStrAda return chars_ptr is
  begin
 return New_String("abcde2");
  end RetStrAda;
источник

..

. . in Ada
Не прошло и 30 лет...
источник

С

Слава in Ada
Я на перле писал очень мало. Подозреваю, что просто все его пользователи были из тех ещё поколений и поэтому не видели сложностей.
источник

VM

Victor Miasnikov in Ada
Разве поддержки ЯП Python нет в утилите SWIG?

М.б. там и Perl.

(

 Есть варианты SWIG
с возвращённой Modula-3.

 И с добавленными Delphi.
Или Ada.
)
источник

VM

Victor Miasnikov in Ada
"Вы будете смеяться": точно так же в x64 ( редкость ( 2 .. 3 из 50) для Оберон мира) компиляторе Patchouli.

Но там и исходные коды на 200 килобайт и все .exe с .dll столько же.
источник

..

. . in Ada
Все видели. Я честно говоря не видел ни одного человека, который бы глядя на xs не охреневал зачем нужны такие сложности на ровном месте
источник

..

. . in Ada
Особенно по сравнению с модулем ctypes в питон, который все юзают в хвост и гриву, разбираясь за 5 минут
источник

AV

Alexey Veselovsky in Ada
SWIG -одновременно избыточен и недостаточен.
источник

VM

Victor Miasnikov in Ada
В readme к Strawberry Perl 64bit было про неудачу со стыковкой с одной из библиотек.

Си часть быстро удалось исправить, а вот с xs ...
источник

..

. . in Ada
Ну xs то работает, просто сие извращение по сути
источник

..

. . in Ada
Суть xs (и Inline ) в неуёмном желании соорудить в одном файле общий код из перл и си. Только ради этого приходится создавать ещё 10 файлов всяких манифестов, сценариев, описаний и т.п. В итоге Hello World на xs занимает 8 файлов и 3 подкатолога
источник

VM

Victor Miasnikov in Ada
Переходник к Modula-3 одной из библиотек ( .lib) LLVM 9.0.1 модифицированный SWIG "изготовил" полностью автоматически.
источник

..

. . in Ada
Том в устройстве D не имеет метки.
Серийный номер тома: 2853-B4F0

Содержимое папки D:\adac\Hello-World

06.06.2021  00:04    <DIR>          .
06.06.2021  00:04    <DIR>          ..
04.06.2021  22:46               204 Changes
04.06.2021  22:46    <DIR>          lib
04.06.2021  22:46             1 036 Makefile.PL
04.06.2021  22:46                87 MANIFEST
04.06.2021  22:46             1 215 README
04.06.2021  22:46    <DIR>          t
06.06.2021  00:04                 0 tmpl
04.06.2021  22:49               205 World.xs
              6 файлов          2 747 байт

Содержимое папки D:\adac\Hello-World\lib

04.06.2021  22:46    <DIR>          .
04.06.2021  22:46    <DIR>          ..
04.06.2021  22:46    <DIR>          Hello
              0 файлов              0 байт

Содержимое папки D:\adac\Hello-World\lib\Hello

04.06.2021  22:46    <DIR>          .
04.06.2021  22:46    <DIR>          ..
04.06.2021  22:46             1 914 World.pm
              1 файлов          1 914 байт

Содержимое папки D:\adac\Hello-World\t

04.06.2021  22:46    <DIR>          .
04.06.2021  22:46    <DIR>          ..
04.06.2021  22:46               518 Hello-World.t
              1 файлов            518 байт

    Всего файлов:
              8 файлов          5 179 байт
             11 папок  1 023 905 771 520 байт свободно
источник

..

. . in Ada
Это чтобы напечать Hello world)
источник

..

. . in Ada
не считая собственно когда на си)
источник

..

. . in Ada
И для сравнения питон- в котором на это уходило 3 строки ...
источник