Para poder llamar a la versión C de la subrutina desde Perl usando el módulo P5NCI lo único que necesitamos es crear una librería dinámica:
$ cc -shared hcf.o -o libhcf.so $ ls -ltr | tail -1 -rwxr-xr-x 1 lhp lhp 5446 2007-05-29 16:52 libhcf.so $ nm libhcf.so # nm nos lista los símbolos en la librería 00001650 A __bss_start 000003c0 t call_gmon_start 00001650 b completed.4463 00001558 d __CTOR_END__ 00001554 d __CTOR_LIST__ w __cxa_finalize@@GLIBC_2.1.3 000004f0 t __do_global_ctors_aux 000003f0 t __do_global_dtors_aux 00001648 d __dso_handle 00001560 d __DTOR_END__ 0000155c d __DTOR_LIST__ 00001568 a _DYNAMIC 00001650 A _edata 00001654 A _end 00000534 T _fini 00000450 t frame_dummy 00000550 r __FRAME_END__ 00001634 a _GLOBAL_OFFSET_TABLE_ w __gmon_start__ 0000048c T hcf # Nuestra función máximo común divisor 00000485 t __i686.get_pc_thunk.bx 0000036c T _init 00001564 d __JCR_END__ 00001564 d __JCR_LIST__ w _Jv_RegisterClasses 0000164c d p.4462
Casiano Rodríguez León