Mostrando postagens com marcador instalação. Mostrar todas as postagens
Mostrando postagens com marcador instalação. Mostrar todas as postagens

Uma grande dificuldade para quem migra do Windows para o Linux é a de achar programas alternativos que tenham os mesmos recursos dos que esta pessoa utilizava no Windows. Este problema as vezes força ela a continuar com o Windows em um computador separado apenas para utilizar um programa em que o Linux não oferece suporte.


Um caso interessante que acontece quando começamos a trabalhar com alocação dinâmica em c, é a preocupação em liberar a memória que é feita utilizando a função free(). Contudo nem todos os programas que faremos terão um único ponteiro, podemos ter estruturas complexas com várias operações em seus dados, e como ter certeza nessas ocasiões de que a memória foi liberada? Para essas situações o uso da ferramenta valgrind é o ideal. Esta ferramenta lhe permite ver quantos alocações foram feitas e quantas foram liberadas, além de várias outras aplicações veja mais clicando aqui.

Para instalar a valgrind em sua máquina digite no terminal:

  sudo apt-get install valgrind

Agora, vamos fazer um teste com um programa básico. Digamos que criamos um ponteiro para inteiro e esquecemos de liberar no final da execução do programa, então no relatório da valgrind ao final da execução terá um alerta de quantas alocações fizemos em byte e quanto dessas alocações foram liberadas, segue o código abaixo:


#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])

{
   int *inteiro;
   inteiro = (int*) malloc(sizeof(int));
   *inteiro = 10;
   printf("%d", *inteiro);
   return 0;

}

Quando for compilar e rodar o seu programa utilize o seguinte comando para ativar a valgrind:

  gcc nomedoprograma.c -o nomedoprograma
  valgrind ./nomedoprograma

Você receberá um relatório parecido com esse ao final do programa:

==5243== HEAP SUMMARY:

==5243==     in use at exit: 4 bytes in 1 blocks

==5243==   total heap usage: 1 allocs, 0 frees, 4 bytes allocated

==5243==

==5243== LEAK SUMMARY:

==5243==    definitely lost: 4 bytes in 1 blocks

==5243==    indirectly lost: 0 bytes in 0 blocks

==5243==      possibly lost: 0 bytes in 0 blocks

==5243==    still reachable: 0 bytes in 0 blocks

==5243==         suppressed: 0 bytes in 0 blocks

==5243== Rerun with --leak-check=full to see details of leaked memory

==5243==

==5243== For counts of detected and suppressed errors, rerun with: -v

==5243== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Note que fizemos uma alocação de 4 bytes e não à liberamos, o que temos que fazer é corrigir o nosso programa para que libere o espaço alocado:


#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])

{
 int *inteiro;
 inteiro = (int*) malloc(sizeof(int));
 *inteiro = 10;
 printf("%d", *inteiro);
        free(inteiro);
 return 0;
}

E quando recompilar o seu programa verá um relatório diferente, mais otimista, com todos as alocações tendo seu espaço liberado após a execução:

 ==5350== HEAP SUMMARY:

==5350==     in use at exit: 0 bytes in 0 blocks

==5350==   total heap usage: 1 allocs, 1 frees, 4 bytes allocated

==5350==

==5350== All heap blocks were freed -- no leaks are possible

==5350==

==5350== For counts of detected and suppressed errors, rerun with: -v

==5350== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Esse foi um exemplo básico de como usar essa ferramenta, utilize-a em programas mais elaborados com várias estruturas que precisarão serem liberadas e deixe seus comentários sobre sua experiência com essa ferramenta. Até a próxima!

Valgrind: http://valgrind.org





Olá pessoal, hoje iremos aprender a alterar a aparência do Ubuntu 14.04.

Hello World, o tutorial de hoje vai ensinar a criptografar seus arquivos para mante-los seguros de... olhos indesejados, o que é bastante util se você  possui informação sensível[definição], para essa tarefa vamos usar o AES Crypt por alguns motivos:

OpenCv

Olá galera, falaremos hoje sobre a instação do OpenCV, para quem não conhece o OpenCV é uma biblioteca escrita em c e c++ criada nos anos de 2000 pela Intel, com o objetivo de ajudar as pessoas a construirem aplicações de visão computacional, pode ser aplicado em várias áreas como: Identificação de objetos, sistema de reconhecimento facial, robôs móveis e etc. Se quiser conhecer mais acesse OpenCV.

quatro linguagens que são suportadas pelo OpenCv, são elas: Python, C++, C e Java. Utilizaremos C++ em nossos tutoriais

Antes de iniciarmos precisamos preparar nosso ambiente e  instalar a ferramenta em si, cobriremos a instalação no linux nesse tutorial, contudo instalações para outros sistemas podem ser encontradas facilmente no próprio site da OpenCv.

Há alguns pacotes que precisam ser instalados antes do OpenCV, como o compilador GCC, segue os comandos abaixo:

- sudo apt-get install build-essential
 
- sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev 
libavformat-dev libswscale-dev
 
- sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev 
libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
 
 
Logo após poderemos fazer o download diretamente do git:

Entre em sua pasta de trabalho ou crie uma se não tiver e dentro da pasta digite o seguinte comando no terminal:

mkdir OpenCV 
cd OpenCV
git clone https://github.com/Itseez/opencv.git

Agora crie uma pasta temporária que chamaremos de <cmake_binary_dir>, lá será colocado os arquivos de Makefiles do projeto e binário.

Entre nesta pasta que criamos e digite:

cd opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

Por último dentro da nossa pasta  release, digite os seguintes comandos:

make
sudo make install
 Tudo certo, agora temos nosso ambiente configurado no próximo tutorial faremos uma pequena demonstração do que o OpenCv pode fazer com imagens. Até lá.


Referências: http://stackoverflow.com, opencv.org, Fagner Assis - Introdução à OpenCv e Visão Computacional.