Ótimo site para aprender C e ponteiros

Programação C em geral

Moderadores: 51, guest2003

Mensagempor joe-adb » 16 Set 2008 19:22

Apesar de ter a utilidade meio questionável num uC com pouca RAM, é claro que é possível fazer alocação dinâmica de memória em qualquer microcontrolador.
Se o compilador não oferece suporte às chamadas da biblioteca padrão (malloc, calloc, realloc) você pode simplesmente escrever suas próprias rotinas de alocação dinâmica.
Dê uma olhada neste artigo que aborda o tema:
http://www.embedded.com/design/opensource/209600563


Quanto às diferenças sutis entre C e C++ em sistemas embarcados, são sutis sim!
Ninguém é obrigado a programar estruturado em C, assim como ninguém é obrigado a programar orientado a objeto em C++.
Especialmente em sistemas embarcados sem MMU, onde o cuidado em relação a acesso a memória é deixado totalmente a cargo do programador, as diferenças praticamente se resumem à sintaxe das linguagens.

Eu trabalho programando microcontroladores em C e usamos algumas técnicas simples que deixam o código com "jeitão" de orientado a objeto. Isso sem usar ponteiros pra structs nem nada do tipo, apenas trabalhando com escopos de declaração de variáveis em diferentes arquivos (em que os arquivos seriam os módulos, espécies de "classes" com funções (métodos) e variáveis (atributos) públicos e privados).

Se for ver, há muito código em C que é mais orientado a objeto que alguns códigos C++. Um exemplo muito bom disso é a GLib e o GTK+.

Respondendo à pergunta original, um bom exemplo de compilador C++ para microcontroladores é o GCC que compila para microcontroladores AVR (avr-gcc). Uma referência com programas exemplo bastante simples pode ser encontrada em
http://www.lisha.ufsc.br/~guto/teaching ... ise/led.cc

(piscando um led em C++ num AVR)
joe-adb
Bit
 
Mensagens: 48
Registrado em: 11 Out 2006 22:08

Anterior

Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x