Visão Geral
Este Curso C Programming for Python Developers, ensina aos participantes a linguagem de programação C e como incorporar bibliotecas C personalizadas em seus programas Python. Os participantes aprendem os fundamentos da programação C para escrever programas e bibliotecas de códigos.
Objetivo
Após reaizar este Curso C Programming for Python Developers você será capaz de:
- Aprenda como configurar um ambiente de programação C
- Explore como programar e executar programas C
- Aprenda a organização do código por meio de funções e inclua arquivos
- Entenda a digitação estática e a alocação dinâmica de memória
- Pratique escrever código C chamado de Python
Pre-Requisitos
- Os alunos devem ser capazes de escrever scripts Python simples usando tipos de dados básicos, estruturas de programas e a biblioteca Python padrão. Todos os alunos devem ser desenvolvedores de software com um forte conhecimento de desenvolvimento de software e linguagens de programação modernas.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico
Introduction
- The Development Environment
- Overview of Virtual Machine for Class
- Visual Studio Code Extensions for C
- Debugging C with VS Code
The C Programming Language
- Development Tools
- Makefile
- CMake
- CPP Check
Program Structure
- Main Function
- Include Files
- Header Files
- Compile to Executable
- Compile to Shared Library
- Using Libraries
- Common Compile Options
Data Types
- Numbers
- Strings (Arrays of Characters)
- Arrays
- Structs
- Type Defs
- Type Casting
- Static Typing vs. Dynamic Typing
- Loose Typing vs. Strong Typing
- Static Types
Control Flow
- If
- Switch
- While
- Do-While
- For
- Goto
Functions
- Define a Function
- Call a Function
- Passing Arguments/Parameters
- Return Values
- Function References
- Pointers
- Pass By Value vs. Pass By Reference
- Dynamically Allocating Memory on the Heap
- Principles and Practices of Dynamic Memory Allocation
- Linked Lists
- Untyped Pointers
Python and C Integration
- NumPy Arrays
- Ctypes FFI
- Python Struct and Structure
- Create a Simple C Extension for Python
- Debug a C Extension for Python
- Review C Code generated by Cython
Basic Profiling of Python programs calling C functions
- cProfile
- Time
TENHO INTERESSE