El Módulo P5NCI

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
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19