ExpertiDict

Ruby · Avançado · Português · Técnico

extensão nativa

/estẽˈsɐ̃w naˈtʃivɐ/substantivo

Parte de uma gem escrita em C (ou Rust), compilada na instalação, que usa a API C do CRuby para ganhar desempenho ou acessar bibliotecas do sistema. Declara-se com extconf.rb.

Onde usar

Aparece quando uma gem demora a instalar ou falha com erro de compilação no bundle install, como nokogiri, pg e puma. Exige compilador e cabeçalhos instalados.

Em código

# ext/ola/extconf.rb
require "mkmf"
create_makefile("ola/ola")
# no gemspec:
#   spec.extensions = ["ext/ola/extconf.rb"]

Exemplos

A instalação falhou porque a extensão nativa não compilou.

Prefira Ruby puro se a extensão nativa não trouxer ganho real.

Cuidado

Não funciona em JRuby e pode quebrar a cada versão do Ruby se usar API interna; prefira Ruby puro quando o ganho não compensar.

Sinônimos

C extension

Antônimos

Ruby puro

Veja também

Todos os termos de Ruby