Blog C/C++
KDevelop novo projeto

Explicarei agora como criar um projeto simples em C, usando o KDevelop.

Criando um novo projeto em KDevelop

Primeiramente entre no KDevelop na menu Project.

Selecione o item New From Template, conforme figura abaixo:

Agora o KDevelop pedirá para que informe o nome do projeto e sua localização, também indicando o modelo do projeto.

Selecione em Category o item Standard.

Em Project Type, selecione Terminal.

E em Terminal, seleciona CMAKE C.

Por fim, pressione o botão Próximo, conforme figura acima.

Agora, o KDevelop permite que inclua o sistema de controle de versão.

O KDevelop tem integração com GIT, SVN, entre outros.

Porem neste sistema, não iremos apresentar este tópico, ficando para outro post.

Selecione a opção None, e click no botão concluir.

Por fim, o KDevelop irá apresentar as informações de configuração do projeto que será criado, pedindo para vc corrigir eventuais erros.

Click em OK.

Pronto, seu projeto esta pronto para ser executado!

Blog C/C++
KDEVELOP

Neste artigo, tratarei sobre uma das mais poderosas e versáteis ferramentas de desenvolvimento Linux para C.

O Kdevelop é uma IDE de desenvolvimento rápido para C e outras linguagens. Ele permite o desenvolvimento cruzado, entre sistemas operacionais, tais como Windows, Linux, Mac , entre outros.

Atualmente o produto esta na versão 5.6 e pode ser baixada em :

https://www.kdevelop.org/download

Alguns recursos desta importante ferramenta:

Analise semântica de C/C++ incorporada

A IDE, permite rastrear classes, tipos, funções, capturando e analisando complementos, e detalhes.

Suporte à linguagem C / C ++ do KDevelop

Controle de versão

Para desenvolver em grupos é necessário técnicas de controle de modificação. O KDevelop possui suporte aos principais sistemas, como CVS, Subversion, Mercurial, etc.

O recurso "Mostrar anotação" com o Git VCS.

Sistema de compilação

O C é uma linguagem, porem ela utiliza argumentos scripts para gerar os binários. Tais scripts de montagem tambem são suportados.

A janela de configuração do CMake do KDevelop

Iremos abordar, tais scripts, quando falarmos de compilação cruzada em C.

Iremos abordar mais adiante como usar esta fantástica ferramenta.

Blog C/C++ Sem categoria
Callback em C

Callback é um função que é passada através de uma outra função.

O C realmente é uma linguagem fantástica. Ela permite isso e muito mais.

Podemos implementar um ponteiro atribuindo ele como uma função e simplesmente chama-la.

Vou demonstrar seu uso neste exemplo:

No exemplo acima, temos duas funções:

Chamada1 e Chamada2, ambas executam funções bem simples.

A função exCallBack, tem como parâmetro um ponteiro de função.

Verifique que ao passar a função, usamos o &, pois não passamos a função em si, mas o endereço da mesma.

Espero ter ajudado com este exemplo simples de uso de callback.

Abraço a todos.

Blog C/C++
Exemplo de Ponteiro de Memória em C

Estaremos aqui abordando o uso de ponteiro de memória, neste pequeno exemplo de código.

Vemos aqui 3 variáveis:

  • mensagem
  • pmensagem
  • pmensagem2

Podemos notar, que a primeira é um vetor estático, enquanto as duas seguintes são ponteiros.

O ponteiro trabalha como uma variável numérica, pois armazena o endereço. Desta forma quando referenciamos um ponteiro, não mostramos o valor, mas sim o endereço que ele se encontra.

O C é uma linguagem de tipagem fraca, com isso podemos manipular ponteiros de caracteres, aplicando cálculos matemáticos, como no exemplo acima.

Notemos que ao indicar um ponteiro, podemos apontar qualquer parte do endereço de um segmento de memória, não só o começo. No exemplo acima, pulamos cada vez que lemos a posição 1 byte.

Desta forma podemos ir rolando o ponteiro para a posição que quisermos.

Blog C/C++
Alocação de variável dinâmica

Estaremos abordando como alocar uma variavel dinamica em C.

No exemplo acima, podemos verificar, que existe uma variavel pdinamica. Que é um ponteiro de variável.

Iremos explicar o ponteiro em outro post.

O comando malloc, pega um segmento da memória, e reserva para o ponteiro.

Alocação de memória deve ser usada com muito cuidado, pois seu uso inadvertido, pode causar crash do sistema, ou o que chamamos de memory leak. O memory leak é como o próprio nome diz, quando perdemos o controle das alocações, não removendo a alocação da memória após seu uso.

Na alocação dinâmica, a alocação e desalocação da memória é feita pelo software (programador), se houver uma falha no processo de desalocação aquele segmento de memória ficará inutilizado até que a aplicação feche.

Em situações onde houver rechamada constante de um bloco de instruções que perde memória, o programa irá capturar segmentos de tal volume, que em um dado momento a aplicação ficará sem recursos (memória livre disponível).

O comando free, já faz a liberação da memória, quando apontamos o endereço da memória, dizemos ao Sistema Operacional, que aquele segmento de memória criado no endereço apontado, já pode ser liberado.

Como o sistema operacional já sabe o tamanho criado no momento da alocação, não é necessário identificar o tamanho do segmento.

Sem categoria
Exemplo de alocação estática em C

Apresentarei um exemplo bem simples de alocação estática em C.

Vamos aprender um pouco.

Neste exemplo, acima, declaramos a variável estática.

O que podemos aprender aqui, bem neste exemplo muito simples. Temos 3 aprendizados.

  1. Alocação de variável estática
  2. Carga na memória da variável através do sprintf
  3. Impressão na tela pelo printf.

Espero ter ajudado!

C/C++ Delphi Lazarus Sem categoria
Comandos do GDB

O GDB é acrônimo GNU DeBuger, e é utilizado para depurar aplicações escritas em C, C++, Kylix, Delphi entre outras.

Como realizar a carga do GDB

gdb -d <aplicacao> [source]

Onde Aplicacao é aplicação que se deseja debugar.

source é aonde estão os fontes do projeto.

Recomendação:

Posicione o gdb no local dos fontes, fazendo a chamada da aplicação pelo caminho completo, desta forma, pode ignorar o local (source). ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

Exemplo de código:

Principais comandos GDB

Breakpoint (b)

O comando b adiciona um break point (ponto de debug) para analise, sua sintaxe é bem simples.

b source:linha

Run (r)

O comando r, roda a aplicação, iniciando o debug da mesma.

Kill (k)

O comando k, para a aplicação, finalizando o debug.

Quit (q)

O comando q, sai do debug.

List (l)

O comando l mostra um fragmento do fonte em que esta. Ele usa o fonte que vc apontou no source.

Display

O comando display, mostra o conteúdo de uma variável ou expressão.

O comando p, mostra o conteúdo de uma variável.

Sintaxe:

p [nome_variavel]

Continue (c)

O comando c, vai até o próximo break point.

Next (n)

O comando n, executa o programa até a próxima linha, mas não muda a tela.

Step (s)

O comando s, executa o comando até o próximo linha, mudando a tela.

Step into (si)

O comando si, executa exatamente uma instrução entrando dentro desta, se houver funções internas.

Finish

O comando finish, executa a linha até o final desta.

Info threads

O comando info threads, lista as threads apontando informações das mesmas.

Info breakpoints

O comando info breakpoints ou i break, mostra os breakpoints que adicionei no meu debug durante a execução.

Sintaxe:

i break

mostra lista de breakpoints adicionados no debug
Comando i break

Info args

O comando info args, mostra os argumentos passados pela função que foi chamada.

Exemplo:

info b

comando lista os break points criados.

thread

O comando thread, muda a execução para alguma thread especifica.

Clear

O comando clear, apaga todos os break points ativos.

Delete

O comando delete, apaga o break point criado, deve ser usado o número de identificação deste break point.

Exemplo

delete 1

Deleta o primeiro breakpoint criado

Backtrace (bt)

Mostra a cadeia de chamada de funções

sintaxe:

bt

DIRECTORY

Inclui o caminho dos fontes. (Agradeço ao amigo Felipe Resende pela dica)

Exemplo:

directory=/home/mm/proj01/src

Interface de Fontes

Ativa interface texto de visualização de fontes.

tui [enable] [disable]

MNote2
MNote2 – Salvamento de contexto

Estou escrevendo o salvamento de contexto do projeto MNote2.

No caso, o salvamento, permite saber ao retornar a aplicação, como e quais textos estavam abertos após a reabertura.

Como padrão, salvamento de contexto, sempre será uma classe Set(Nome do pai).

Exemplo Form: Main -> Contexto SetMain.pas

O Arquivo gerado será sempre set<Form>.

Blog Sem categoria
Descobrindo quem esta usando as portas TCP.

Por vezes nos deparamos com portas sendo utilizadas em nosso PC, e não sabemos de verdade quem usa oque.

Vou ensinar agora, como descobrir isso.

Se utilizarmos o comando pelo prompt do windows:

netstat -nao

Teremos a imagem a seguir:

execução do netstat -nao

Perceba que temos 5 informações:

  • Protocolo
  • Endereço local
  • Endereço Externo
  • Estado
  • PID

Neste contexto percebemos que o netstat mostra ao lado do ip:porta, ou seja, sempre mostra a porta do local usada.

A descrição LISTENING, indica que é um serviço que escuta a porta em questão.

Listar aplicações em execução

No linux o pid é muito conhecido e usado, porem no windows, é um pouco mais misterioso.

Iremos tratar, alguns pontos.

No windows quem quer listar os processos que estão em execução, o método mais fácil é o tasklist.

Para pegar apenas o processo correto utilize a seguinte sintaxe:

tasklist | grep -e " 4 "

Desta forma coletará apenas o nro do processo


Matando a aplicação, no windows

Para matar uma aplicação pela console no windows, use o comando tskill, conforme a sintaxe:

tskill <pid>

Segue exemplo:

en_USEnglish