program ideone;
{$mode objfpc}
uses dynlibs;
 
type
  TStrLen = function(a:pchar):SizeInt; StdCall;
 
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.
				cHJvZ3JhbSBpZGVvbmU7CnskbW9kZSBvYmpmcGN9CnVzZXMgZHlubGliczsKCnR5cGUKICBUU3RyTGVuID0gZnVuY3Rpb24oYTpwY2hhcik6U2l6ZUludDsgU3RkQ2FsbDsKCnZhcgogIExpYkM6IFRMaWJIYW5kbGUgPSBOaWxIYW5kbGU7CiAgRnVuYzogVFN0ckxlbjsKICAKYmVnaW4gCiAgTGliQyA6PSBMb2FkTGlicmFyeSgnbGliYy5zby42Jyk7CiAgaWYgTGliQyA9IE5pbEhhbmRsZSB0aGVuIEV4aXQ7CiAgRnVuYyA6PSBUU3RyTGVuKEdldFByb2NlZHVyZUFkZHJlc3MoTGliQywgJ3N0cmxlbicpKTsKICBXcml0ZWxuKEZ1bmMoJ1Rlc3QnKSk7CmVuZC4=