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:

Blog
Alguns comandos da NVIDIA

Já apresentei em posts anteriores a possibilidade de integração e leitura das informações da GPU NVIDIA.

Através da aplicação nvidia-smi, é possível realizar a leitura das diversas funcionalidades da api da nvidia.

Um exemplo de uso, é descobrir quantas placas de vídeo existem em seu desktop.

O comando a baixo permite isso:

nvidia-smi    --query-gpu=gpu_name, vbios_version --format=csv,noheader

Conforme vemos na imagem abaixo:


A simples adição do parametro -i [nro], permite selecionar qual o device que quer ler a informação.

nvidia-smi    -i 0 --query-gpu=gpu_name, vbios_version --format=csv,noheader  

Conforme figura abaixo:

Mais informações podem ser vistas no link abaixo:

https://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf

Relógio
Leitura de temperatura GPUs

A mudança mais recente na versão 2.3.9 do projeto relógio, esta em ler as informações das placas NVIDIA.

Permitindo a integração além dos modelos da placa de vídeo, como também a temperatura de ambas.

Outro recurso, bem interessante na nova versão é a possibilidade de monitoramento de temperatura, através de gráfico.

Informações de temperatura de forma gráfica

Relógio
Informações da GPU

Agora o projeto relógio permite ler a temperatura da placa de vídeo.

Nesta nova etapa, estamos adicionando informações chave da placa de vídeo.

Leitura de Temperatura da GPU

O código associado a leitura do GPU esta na unit funcoes.pas

function GetGPUTemperature: string;   

Esta função faz a integração com as GPUs da NVIDIA, através de lib da própria fabricante.

Blog CUDA Delphi Relógio Sem categoria
Ler Temperatura Placa de Video NVIDIA

Falaremos neste artigo, como obter a temperatura da placa de Vídeo (GPU) NVIDIA.

Abordaremos o procedimento mais simples de integração, e leitura das informações da placa de vídeo, integrando com Lazarus.

A placa de vídeo, hoje é requisito obrigatório para qualquer computador realmente robusto.

Placas de vídeo com grande capacidade, por vezes precisam ser monitoradas para evitar super aquecimento .

Atualmente projetos de CASEMOD não seriam realmente case mode, se não lerem estas informações.

Pensando nisso a NVIDIA, lançou um conjunto de ferramentas que auxiliam o desenvolvedor na obtenção de forma fácil e assertiva, na leitura das informações da GPU.

O NVIDIA System Management Interface é um utilitário, baseado no NVML (NVIDIA MANAGEMENT Library) que gerencia e monitora dispositivos NVIDIA.

Este utilitário tambem administra por pesquisas por estado de dispositivo GPU , atribuindo privilegios , permitindo administradores modificares o estado da GPU.

NVIDIA-smi é embarcado com o driver para linux do NVIDIA GPU , e windows 64bits (WIN7/2008).

O NVIDIA-smi pode fornecer informações em formato XML ou em arquivo texto simples.

Para maiores informações consulte a documentação:

nvidia-smi documentation.

O fragmento acima é uma tradução livre do site:

https://developer.nvidia.com/nvidia-system-management-interface

Integração com LAZARUS

O Componente TProcess , permite a integração de comandos através da console.

Segue o fragmento de código para analise.

function GetGPUTemperature: string;
var
cmd : TProcess;
AStringList: TStringList;
begin
cmd := TProcess.Create(nil);
// Cria o objeto TStringList.
AStringList := TStringList.Create;
cmd.CommandLine:='nvidia-smi -i 0 --format=csv,noheader --query-gpu=temperature.gpu';

cmd.Options := cmd.Options + [poWaitOnExit, poUsePipes];
cmd.Execute;
AStringList.LoadFromStream(cmd.Output);
result := trim(AStringList.Text);
AStringList.Free;
cmd.Free;
end;

Download

Documentação da API

https://docs.nvidia.com/deploy/nvml-api/index.html

Documentação nvidia-smi

http://developer.download.nvidia.com/compute/DCGM/docs/nvidia-smi-367.38.pdf

Download do CUDA Toolkit 3.2

https://developer.nvidia.com/cuda-toolkit-32-downloads

Caminho no pc após instalação:

C:\Program Files\NVIDIA Corporation\NVSMI

Dicas Sem categoria
Windows Modo de teste
Exemplo do windows em modo teste

Para tirar o windows do modo de teste, realize o seguinte procedimento. 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

1 – Entre no CMD como modo administrador

Digite:

bcdedit -set TESTSIGNING OFF

Reinicie o computador.

pt_BRPortuguese