Introdução

O Zig é uma linguagem de programação que tem se destacado por sua eficiência e simplicidade, sendo uma excelente escolha para o desenvolvimento de sistemas. Um dos pontos fortes do Zig é sua capacidade de interoperar com C, o que permite que desenvolvedores aproveitem bibliotecas já existentes. Neste tutorial, iremos explorar como integrar o Zig com o framework Ziglang e usar o CMake como ferramenta de construção. Você aprenderá a configurar o ambiente, criar um projeto do zero e a desenvolver uma aplicação eficiente e portátil. O Zig oferece recursos como gerenciamento de memória manual, segurança de tipo em tempo de compilação e uma sintaxe clara, que facilitam o desenvolvimento de aplicações robustas. Vamos preparar um ambiente onde podemos compilar e executar nosso código Zig, além de configurar o CMake para compilar nosso projeto com as melhores práticas de desenvolvimento.

Etapas

  1. Configuração do Ambiente de Desenvolvimento

    Antes de começarmos, você precisa instalar o Zig e o CMake. O Zig pode ser baixado diretamente do site oficial, enquanto o CMake também está disponível em seu site. Após a instalação, verifique se tudo está corretamente instalado usando os comandos de versão.

    commands
    # Verificar instalação do Zig
    zig version
    # Verificar instalação do CMake
    cmake --version

  2. Criando um Novo Projeto Zig

    Crie uma nova pasta para o seu projeto, dentro dela, crie um arquivo chamado `main.zig`. Esse arquivo conterá o código da nossa aplicação. Para configurar o projeto, crie um arquivo `CMakeLists.txt` que irá ajudar na construção do projeto usando CMake.

    main.zig
    const std = @import("std");
    
    pub fn main() void {
        std.debug.print("Hello, World!
    ", .{}); }

    CMakeLists.txt
    cmake_minimum_required(VERSION 3.10)
    project(ZigHelloWorld)
    
    set(CMAKE_C_COMPILER zig)
    
    add_executable(HelloWorld main.zig)

  3. Compilando o Projeto com CMake

    É hora de compilar nossa aplicação. Abra o terminal na pasta do projeto e execute os comandos para gerar os arquivos de construção com o CMake e compilar o projeto.

    commands
    # Crie um diretório de construção
    mkdir build && cd build
    # Execute o CMake
    cmake ..
    # Compile o projeto
    cmake --build .

  4. Executando a Aplicação

    Depois de compilar, você terá um executável chamado `HelloWorld` no diretório de construção. Agora, execute o aplicativo para ver a saída no console.

    commands
    ./HelloWorld

  5. Adicionando Funcionalidades

    Para tornar nossa aplicação mais interessante, vamos adicionar uma nova função que calcula a soma de dois números. Atualize seu arquivo `main.zig` conforme abaixo.

    main.zig
    const std = @import("std");
    
    fn somar(a: i32, b: i32) i32 {
        return a + b;
    }
    
    pub fn main() void {
        const a = 5;
        const b = 10;
        std.debug.print("Soma de {} e {} é {}
    ", .{a, b, somar(a, b)}); }

  6. Reconstruindo o Projeto

    Após as modificações no código, será necessário reconstruir o projeto para ver as mudanças. Execute os mesmos comandos de construção que usamos anteriormente no terminal.

    commands
    # Assegure-se de estar no diretório build
    cmake --build .

  7. Testando a Aplicação

    Agora que você implementou a funcionalidade de soma, execute novamente o aplicativo para verificar se tudo funciona corretamente. Você deve ver a soma correta apresentada no console.

    commands
    ./HelloWorld

Conclusão

Neste tutorial, exploramos o Zig como uma linguagem eficaz para o desenvolvimento de sistemas, integrando-o com o CMake para construir aplicações portáveis. Desde a configuração do ambiente até a execução de uma aplicação simples, cobrimos os passos necessários para iniciar um projeto em Zig. Você agora tem uma boa base para expandir seus conhecimentos na linguagem, podendo adicionar novas funcionalidades e explorar suas capacidades. O Zig se destaca pela segurança, eficiência e facilidade de uso, tornando-o uma excelente opção para desenvolvedores que buscam alternativas modernas às linguagens tradicionais.

Hashtags

#Zig #CMake #DesenvolvimentoDeSistemas #Programação #ZigLang