Na primeira parte dos posts sobre linha de comando já abordamos o básico, agora vamos usar uma biblioteca padrão POSIX, getopt. E por que getopt? Porque está presente na maioria das variedades de Unix, um grande mercado de desenvolvimento de C/C++ atualmente.
(mais…)Categoria: Programação C/C++
Na plataforma MS Windows pouco se usa a linha de comando, mas C/C++ é muito utilizado para back end, e nesse caso a linha de comando é muito mais comum. Pra começar vamos entender como a linguagem C recebe as informações do sistema operacional. Vamos também entender quais cuidados temos que ter com argumentos de linha de comando.
(mais…)Dando sequência à série de desenvolvimento com sockets usando boost::Asio em C++ o post vai demonstrar como fazer um cliente echo que procura o servidor na rede local, nos moldes do que já foi feito com C.
(mais…)Nos dois posts anteriores foi demonstrado como utilizar sockets com C. Agora vamos ver a diferença entre C e C++, utilizando boost::Asio.
Boost é um conjunto de bibliotecas para C++ tão popular que é praticamente considerado padrão. Conta com uma grande opção de bibliotecas para os mais diversos fins, incluem bibliotecas para IO, funções matemáticas, threads, processamento paralelo, date/time, dentre diversas outras.
(mais…)Dando continuidade ao último post, vamos aprender como fazer um cliente para o servidor echo desenvolvido na semana passada. Mas com um acréscimo, o cliente echo procura pelo servidor na rede local.
(mais…)A biblioteca boost::Asio é uma ótima opção para networking no C++. Mas em C o mais popular é o socket mesmo. Vamos aprender algumas tarefas básicas com socket neste, e nos próximos posts.
(mais…)Todo mundo sabe que printf faz escrita de dados, e que scanf faz leitura de dados, mas nem todo mundo sabe usar scanf para fazer parser de entrada de dados. Nest post vamos ensinar a fazer parser de formatos básicos usando scanf.
(mais…)No último post implementamos uma pilha usando lista ligada usando C, neste post vamos implementar a mesma pilha, mas utilizando orientação a objetos. O foco é na implementação correta da uma estrutura de dados, em primeiro lugar os dados, e depois o algoritmo que manipulam os dados.
Os dois posts em conjunto vão servir para ilustrar a importância da estrutura de dados sobre o algoritmo. No próximo post vamos discorrer um pouco mais sobre porque dar tanta importância aos dados e não ao algoritmo.
(mais…)No post de hoje vamos implementar uma pilha usando uma lista ligada em C, ou seja, sem usar classes. O mais importante hoje é demonstrar como implementar apropriadamente uma estrutura de dados e as funções que vão manipular os dados.
No próximo post vamos implementar a mesma pilha usando lista ligada utilizando C++, ou seja, utilizando classes, os dois posts em conjunto servirão como exemplo da importância das estruturas de dados no desenvolvimento de software.
(mais…)Vazamento de memória é uma pequena praga que precisa ser combatido. Em alguns sistemas pode não fazer muita diferença, mas quando o processamento envolve um volume grande de dados, ou quando a memória é restrita, como em sistemas embarcados, por exemplo, é necessário tomar muito cuidado.
Pra facilitar a detecção de vazamento de memória podemos fazer uma pequena biblioteca para localizar cada malloc sem seu devido free.
(mais…)