Вы находитесь на странице: 1из 1

O que biblioteca de programao | library | lib ? O que API | Application Programming Interface ?

De uma discusso na lista Devolts (http://artesanato.devolts.org/). quando vc escreve um programa usando uma linguagem de programao existe a possibilidade de voc usar um conjunto de funes pr-escritas por outros programadores que j resolvem determinados problemas para voc sem que vc precise reinventar a roda. a esse conjunto de funes damos o nome de BIBLIOTECA, do ingls, library. Muitos traduzem como livraria, isso dificulta a compreenso pois livraria uma LOJA DE LIVROS enquanto biblioteca um conjunto de livros que vc pode usar sem precisar PAGAR! exemplos de bibliotecas que eu uso diariamente: - OpenGL: conjunto de funes para desenhar diretamente no buffer da placa de vdeo; - OpenCV: conjunto de funes para processamento de imagem e viso computacional; - OpenAL: conjunto de funes para processamento, sntese e execuo de udio. na prtica, pra vc usar uma biblioteca basta incluir uma chamada para ela no incio do cdigo, por exemplo, para usar OpenGL em C ou C++ vc deve ter uma linha no incio do cdigo assim: #include GL/gl.h gl.h uma INTERFACE de programao (NO CONFUNDA COM INTERFACE GRFICA) que contm declarada todas as funes de OpenGL que voc pode usar no seu programa. O que API? API justamente a lista e a descrio das funes de uma biblioteca (ou de um aplicativo) que um programador pode chamar dentro do cdigo dele. - biblioteca: conjunto de funes pr-compiladas - API: lista e descrio das funes Realmente fcil confundir API com biblioteca, mas API um conceito mais geral, pois essa lista de funes pode ser de uma biblioteca ou de um outro aplicativo! Na prtica, a diferena entre uma biblioteca e um aplicativo que um aplicativo tem um executvel (arquivos binrios no Linux ou .exe no windows) e uma biblioteca no tem, pois ela s um conjunto de funes pr-compiladas (no linux arquivos .o, no windows arquivos .dll) que no faz sentido bibliotecas serem executadas do nada, elas devem ter suas funes chamadas por aplicativos. Ento toda biblioteca (conjunto de funes pr-compiladas) tem que ter uma API (lista e descrio das funes). Mas nem toda API necessariamente implementada por uma biblioteca. O Mozilla Firefox por exemplo, um aplicativo mas tem uma API que pode ser usada por seus plugins. Salve Felipe! valeu o comentrio. Pra entender melhor esse ltimo exemplo vale a pena pesquisar como se faz um plugin para o Mozila, ento realmente no foi um exemplo muito bom dada essa dificuldade. Mas, tentando esclarecer um pouco, quando voc vai programar um plugin para o Mozilla vc precisa ter a lista de funes que vc vai usar, ento essa lista de funes uma API. Esse, por tanto um caso de uma API de um aplicativo e no de uma biblioteca. Se ainda no tiver ficado claro posso tentar explicar de outro jeito. grande abrao! jjR

Вам также может понравиться