program ideone;
{$mode objfpc}
uses dynlibs;
 
type
  TStrLen = function(a:pchar):SizeInt; cdecl;
 
var
  LibC: TLibHandle = NilHandle;
  Func: TStrLen;
 
begin 
  LibC := LoadLibrary('libc.so.6');
  if LibC = NilHandle then Exit;
  Func := TStrLen(GetProcedureAddress(LibC, 'strlen'));
  Writeln(Func('Test'));
end.
				cHJvZ3JhbSBpZGVvbmU7CnskbW9kZSBvYmpmcGN9CnVzZXMgZHlubGliczsKCnR5cGUKICBUU3RyTGVuID0gZnVuY3Rpb24oYTpwY2hhcik6U2l6ZUludDsgY2RlY2w7Cgp2YXIKICBMaWJDOiBUTGliSGFuZGxlID0gTmlsSGFuZGxlOwogIEZ1bmM6IFRTdHJMZW47CiAgCmJlZ2luIAogIExpYkMgOj0gTG9hZExpYnJhcnkoJ2xpYmMuc28uNicpOwogIGlmIExpYkMgPSBOaWxIYW5kbGUgdGhlbiBFeGl0OwogIEZ1bmMgOj0gVFN0ckxlbihHZXRQcm9jZWR1cmVBZGRyZXNzKExpYkMsICdzdHJsZW4nKSk7CiAgV3JpdGVsbihGdW5jKCdUZXN0JykpOwplbmQu