como criar uma biblioteca em C

1. como criar uma biblioteca em C

Mateus De Oliveira Gondim
Crux

(usa CentOS)

Enviado em 23/12/2013 - 10:18h

olá pessoal,queria saber se existe uma forma de eu
criar uma biblioteca em C,no qual permitisse que crie-nos variáveis sem precisar declarar seu tipo!

Ou seja quero criar uma biblioteca que evita que,toda vez,para usar uma variável tenho que dizer o tipo dela!

exemplo:

para declarar uma variável em C usamos:

tipo nome; <----- precisa de tipo

quero desenvolver uma biblioteca que permite declarar variável assim:


nome; <---- sem precisar de tipo


  


2. Re: como criar uma biblioteca em C

???
gokernel

(usa Linux Mint)

Enviado em 23/12/2013 - 13:02h


Acredito que nao seja possível, C eh tipada.



3. Re: como criar uma biblioteca em C

Rafael Sampaio
9u31220

(usa Linux Mint)

Enviado em 31/12/2013 - 16:16h

Não consigo imaginar como isso seria possível, talvez você tenha que mexer no compilador e na própria linguagem.


4. Re: como criar uma biblioteca em C

Luis R. C. Silva
luisrcs

(usa Linux Mint)

Enviado em 31/12/2013 - 16:57h

Impossível já que em C todas as variáveis devem ter seus tipos definidos antes de serem utilizadas e mantêm os mesmos tipos até o fim do código. Não é possível alterar o tipo de uma variável.

C é fortemente tipada, não dá pra mudar o tipo de uma variável, apesar que é possível fazer conversão de tipos.


5. Re: como criar uma biblioteca em C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 02/01/2014 - 00:38h

Possível é, mas a linguagem resultante não seria mais C. O que normalmente se obtém quando se faz algo desse tipo é uma linguagem dinamicamente tipada, como Perl, Python ou Go, que, tendo sido implementada em C (ou C++), tem mecanismos para tornar razoavelmente simples trocas de dados com a linguagem com que se escreveu a implementação.

Em tempo: uma das críticas que o pessoal de C++ faz a C é justamente que ela não é suficientemente fortemente tipada. Talvez a forma de usar void* seja o exemplo mais gritante, mas não é o único, e, dependendo da versão de padrão da linguagem, coisas esdrúxulas como misturar ponteiros incompatíveis, ponteiros e inteiros ou omitir o retorno de uma função podem ficar sem mensagem alguma de diagnóstico.


6. Re: como criar uma biblioteca em C

Reinaldo de Souza Junior
reinaldojr_cpp

(usa Fedora)

Enviado em 02/01/2014 - 09:56h

Crux,

Com C acredito que uma forma seja a utilização de tipos 'void *' para ponteiros de variáveis. Para cada tipo, você teria que fazer um cast. Não seria muito elegante.

Com C++ poderia fazer um trabalho bacana para a biblioteca. Vejo duas possibilidades:
1) Se você tiver funções bem definidas para os tipos, então é possível utilizar "templates + classe".
2) Caso contrário, seria mais fácil usar os conceitos de OO (aproveitando ao máximo a herança). Eu faria uma classe base (apenas para construção de uma estrutura inicial, com métodos virtuais) e classes para cada tipo definido, herdando a estrutura básica da classe base.

O último caso daria um pouquinho mais de trabalho para "montar tudo". Porém, pensando que uma biblioteca sofre muitas manutenções, elas seriam facilitadas.

OBS: existem N formas de se fazer, até com a junção das possibilidades 1 e 2.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts