Enviar Sinal para Pthread ou Processo

Introdução Se você deseja enviar um sinal para um thread, você pode usar pthread_kill(), embora não seja semanticamente correto, a página man7 afirma: A função pthread_kill() envia o sinal sig para thread, um thread no mesmo processo que o chamador. O sinal é direcionado de forma assíncrona ao thread. Se sig for 0, nenhum sinal será enviado, mas a verificação de erros ainda será realizada. Vivo ou Morto? Thread Um código para obter o sinal de uma thread e verificar se a thread está “viva”:...

10 mar. 2024 · 4 minutos · 718 palavras · danieltak

Um Estudo sobre o Tempo

Introdução O tempo parece tão simples e trivial, mas ao mesmo tempo um conceito complexo e relativo. Desde muito tempo atrás o estudo sobre o tempo é realizado, na faculdade fiz um resumo do estudo de Aristóteles sobre o tempo, e até os dias de hoje as pessoas ainda debatem sobre o estudo dele e de muitos outros que vieram posteriormente. Mas e no C++? Neste post explicarei um pouco sbre a biblioteca STL do C++ std::chrono, num post anterior expliquei sobre o tempo no Linux....

3 mar. 2024 · 15 minutos · 3008 palavras · danieltak

Quebra de Texto num Widget de Table usando QWidget

Introdução O word wrapping automático do Qt utilizando alguns flags funcionava corretamente na classe QTableWidget, porém outras propriedades não eram atendidas ao usar a classe padrão, para personalizar e contornar os delegates podem ser usados. Pela minha experiência, o QTableWidget é muito limitado, para um widget tão complexo como a tabela, dificilmente você criará uma classe que atenderá à todos requisitos de tabelas de um projeto inteiro e eventualmente você precisará criar um delegate para implementar funcionalidades personalizadas....

27 fev. 2024 · 8 minutos · 1526 palavras · danieltak

Distância entre Dois Pontos de uma Esfera

Geodésia Segundo a Wiki: O estudo de geodésias em um elipsoide surgiu em conexão com a geodésia, especificamente com a solução de redes de triangulação. A figura da Terra é bem aproximada por um elipsoide oblato, uma esfera ligeiramente achatada. Uma geodésia é o caminho mais curto entre dois pontos em uma superfície curva, análogo a uma linha reta em uma superfície plana. A solução de uma rede de triangulação em um elipsoide é, portanto, um conjunto de exercícios de trigonometria esferoidal (Euler, 1755)....

26 fev. 2024 · 5 minutos · 1004 palavras · danieltak

QML Singleton

Introdução No QML muitas vezes é necessário o acesso global à variáveis e funções, isso pode ser alcançado com um padrão de projeto Singleton. Um exemplo é a configuração global de um software, que além de ser acessado por qualquer janela, deve também salvar os dados de configuração em algum arquivo. O Singleton é um padrão de projeto criacional que permite a você garantir que uma classe tenha apenas uma instância, enquanto provê um ponto de acesso global para essa instância....

16 fev. 2024 · 6 minutos · 1210 palavras · danieltak

Tempo no Linux

Introdução No POSIX o time.h pode ser utilizado ou a chamada de sistema time(). Este post falará brevemente com alguns snippets sobre como alterar a data e hora no Linux POSIX. Estruturas de Tempo O time_t é o tipo aritmético capaz de representar tempos. Embora não esteja definido, esse é quase sempre um valor integral (mas pode ser floating point) que contém o número de segundos (sem contar os segundos bissextos) desde 00:00, 1º de janeiro de 1970 UTC, correspondente à Era POSIX....

15 fev. 2024 · 4 minutos · 677 palavras · danieltak

Maximizar e Minimizar Janelas Qt no X11

Introdução Este post explicará como fazer um snippet de uma aplicação no Qt, utilizando o C++ e a biblioteca do X11. O sistema operacional Linux deve utilizar o protocolo X11. Me deparei com este problema, pois o sistema embarcado não possui barra de tarefas, portanto, não é possível minimizar e maximizar da maneira convencional e alguns hotkeys bindings foram utilizados para maximizar e minimizar a aplicação principal. O que é o X11?...

11 fev. 2024 · 3 minutos · 451 palavras · danieltak