SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Integrando Python com C e C++
    Paulo Henrique Junqueira Amorim
      Desenvolvedor  Software InVesalius




                                       Ministério da
                                       Ciência e
                                       Tecnologia
Integrando Python com C e C++

       Mini Agenda                                                         
                                                                                     
        1 ­ Porque Python com C / C++ ?                        
        2 ­ Manualmente                                                 
        3 ­ CTypes                                                           
        4 ­ SWIG                                                              
              4.1 SWIG + CMake                                        
        5 ­ Outras Ferramentas                                        
        6 ­ InVesalius                                      

                                             
Integrando Python com C e C++

       1. Porque usar código em C ou C++ ?                
                                                                                     
                                                                                     
                                                                                     
                        Desempenho


                                             
Integrando Python com C e C++




             Manualmente



                   
Integrando Python com C e C++

       2. Manualmente




                          
Integrando Python com C e C++

       2. Manualmente




                          
Integrando Python com C e C++

       2. Manualmente




                          
Integrando Python com C e C++

       2. Manualmente




                          
Integrando Python com C e C++

       2. Manualmente




                          
Integrando Python com C e C++

       2. Manualmente



           http://www.python.org/doc/ext/ext.html

             http://docs.python.org/api/api.html




                               
Integrando Python com C e C++




                CTypes



                   
Integrando Python com C e C++

       3. CTypes




                         
Integrando Python com C e C++

       3. CTypes




                         
Integrando Python com C e C++

       3. CTypes




                         
Integrando Python com C e C++

       3. CTypes




                         
Integrando Python com C e C++

        3. CTypes



        http://python.net/crew/theller/ctypes/tutorial.html




                                  
Integrando Python com C e C++




                 SWIG



                   
 Integrando Python com C e C++

       4. SWIG
                                  Arquivo Interface



                  SWIG
                                          Parser




                         Gerador Código            Gerador Docum.




                     Python / TCL /...              HTML / LaTeX

                                           
Integrando Python com C e C++

       4. SWIG

                    ­ Quem usa ?

                     wxPython
                     pyOpenGL
                      pyOgre
                        ...


                          
Integrando Python com C e C++

       4. SWIG
                     ­ Suporte


                       TCL
                       PHP
                       Lua
                        C#
                       Java
                        ...
                          
Integrando Python com C e C++

       4. SWIG




                          
Integrando Python com C e C++

       4. SWIG




                          
Integrando Python com C e C++

       4. SWIG




                          
Integrando Python com C e C++

       4. SWIG




                          
Integrando Python com C e C++

       4. SWIG



                  http://www.swig.org




                            
Integrando Python com C e C++




           SWIG + CMake



                   
Integrando Python com C e C++

       4.1. SWIG + CMake




                             
Integrando Python com C e C++

       4.1. SWIG + CMake




                             
Integrando Python com C e C++

       4.1. SWIG + CMake




                             
Integrando Python com C e C++

       4.1. SWIG + CMake
                      Compiladores

                          GCC
                    Watcom WMake
                        MinGW
                      Borland C++
                   Visual Studio [6:9]
                      GCC XCode
                           ...
                             
Integrando Python com C e C++

       4.1. SWIG + CMake




        www.cmake.org

                                  Mastering CMake
                                ISBN 1­930934­16­5

                             
Integrando Python com C e C++




        Outras Ferramentas



                   
Integrando Python com C e C++

       5. Outras Ferramentas


                       ­ Python ­ SIP
                      ­ Boost.Python
                           ­ Pyrex
                          ­ Cython
                          ­ Weave



                                 
Integrando Python com C e C++

       6. InVesalius
                                     VTK + SLICER


                                           ITK


                                        GDCM




                          
Integrando Python com C e C++


             Obrigado!

            Dúvidas ?

    paulo.amorim@cti.gov.br


                              Ministério da
                              Ciência e
                              Tecnologia

Más contenido relacionado

Similar a Integrando C com Python

Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
presentation_4932_1510780314.pdf
presentation_4932_1510780314.pdfpresentation_4932_1510780314.pdf
presentation_4932_1510780314.pdfJoseRosales200371
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y PythonCarlos Toxtli
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Roberto Allende
 
Charla C++
Charla C++Charla C++
Charla C++yiown
 
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicosUnidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicosSistemadeEstudiosMed
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Ricardo Guerrero Gómez-Olmedo
 
Presentación IGALIA
Presentación IGALIAPresentación IGALIA
Presentación IGALIAalberto_silva
 
Creando un agente conversación en Minutos
Creando un agente conversación en MinutosCreando un agente conversación en Minutos
Creando un agente conversación en MinutosCarlaVanesaMamaniCha
 
Summer school python in spanish
Summer school python in spanishSummer school python in spanish
Summer school python in spanishAjay Ohri
 
HTML5 Enfoque Semantico
HTML5 Enfoque SemanticoHTML5 Enfoque Semantico
HTML5 Enfoque SemanticoMax Kraszewski
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la webArsys
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Daniel González Cerviño
 

Similar a Integrando C com Python (20)

Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
presentation_4932_1510780314.pdf
presentation_4932_1510780314.pdfpresentation_4932_1510780314.pdf
presentation_4932_1510780314.pdf
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Practica Html1
Practica Html1Practica Html1
Practica Html1
 
Curso Python desde cero
Curso Python desde ceroCurso Python desde cero
Curso Python desde cero
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y Python
 
Por qué python?
Por qué python?Por qué python?
Por qué python?
 
19032015_DP.pptx
19032015_DP.pptx19032015_DP.pptx
19032015_DP.pptx
 
Lengua oral 2.0
Lengua oral 2.0Lengua oral 2.0
Lengua oral 2.0
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3
 
Charla C++
Charla C++Charla C++
Charla C++
 
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicosUnidad V  Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
Unidad V Python proyecto ingeniería hidráulica calculo de ejes hidráulicos
 
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
Spain AI 2022 - ¡Oh, un modelo de ML, vamos a desplegarlo! - Machine Learning...
 
Presentación IGALIA
Presentación IGALIAPresentación IGALIA
Presentación IGALIA
 
Creando un agente conversación en Minutos
Creando un agente conversación en MinutosCreando un agente conversación en Minutos
Creando un agente conversación en Minutos
 
Summer school python in spanish
Summer school python in spanishSummer school python in spanish
Summer school python in spanish
 
Machine learning automatizado
Machine learning automatizadoMachine learning automatizado
Machine learning automatizado
 
HTML5 Enfoque Semantico
HTML5 Enfoque SemanticoHTML5 Enfoque Semantico
HTML5 Enfoque Semantico
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la web
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
 

Más de gsroma

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609gsroma
 
Why I Love Python V2
Why I Love Python V2Why I Love Python V2
Why I Love Python V2gsroma
 
Amora: A mobile remote assistant
Amora: A mobile remote assistantAmora: A mobile remote assistant
Amora: A mobile remote assistantgsroma
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações emgsroma
 
Computação Gráfica em Python
Computação Gráfica em PythonComputação Gráfica em Python
Computação Gráfica em Pythongsroma
 
Python Na Informática Para Biodiversidade
Python Na Informática Para BiodiversidadePython Na Informática Para Biodiversidade
Python Na Informática Para Biodiversidadegsroma
 
Por que Python?
Por que Python?Por que Python?
Por que Python?gsroma
 
Busca Visual
Busca VisualBusca Visual
Busca Visualgsroma
 
Pound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de CargaPound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de Cargagsroma
 
ZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLgsroma
 

Más de gsroma (10)

Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609Python Pythononcampus Uva 060609
Python Pythononcampus Uva 060609
 
Why I Love Python V2
Why I Love Python V2Why I Love Python V2
Why I Love Python V2
 
Amora: A mobile remote assistant
Amora: A mobile remote assistantAmora: A mobile remote assistant
Amora: A mobile remote assistant
 
Integração de aplicações em
Integração de aplicações emIntegração de aplicações em
Integração de aplicações em
 
Computação Gráfica em Python
Computação Gráfica em PythonComputação Gráfica em Python
Computação Gráfica em Python
 
Python Na Informática Para Biodiversidade
Python Na Informática Para BiodiversidadePython Na Informática Para Biodiversidade
Python Na Informática Para Biodiversidade
 
Por que Python?
Por que Python?Por que Python?
Por que Python?
 
Busca Visual
Busca VisualBusca Visual
Busca Visual
 
Pound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de CargaPound & Varnish - Cache e Balanceamento de Carga
Pound & Varnish - Cache e Balanceamento de Carga
 
ZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQL
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (13)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Integrando C com Python