Posts filed under ‘Dicas’

Tratando “warning: ignoring return value of ‘scanf’” no compilador gcc do Replit.com (e no Unix-like)

Boa parte das pessoas que começaram a aprender a programar seja em cursos online, presenciais, faculdades e escolas de programação já se deparou com o Replit.com.

O Replit.com é uma plataforma de criação de software que oferece um IDE (Ambiente de Desenvolvimento Integrado), recursos de inteligência artificial e a capacidade de implantar projetos diretamente do navegador. No Replit, você pode gerar, editar e explicar código, colaborar em tempo real e implantar seus projetos diretamente do navegador. É uma ferramenta útil para programadores e educadores, pois permite programar em várias linguagens de programação, como Java, Python, C, C++, entre outras, e é acessível em qualquer dispositivo sem a necessidade de configuração (e o melhor você pode PUBLICAR seu projeto de software – qualquer um!). Eu uso bastante em sala de aula (seja para C, Java, Python ou desenvolvimento Web).

Quem já usou o Replit.com para programar em C (ou aprender a programar ou testar códigos na linguagem C) eventualmente já se deparou com o erro:

warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]

Este erro (na verdade, uma warning) ocorre pela definição de scanf do compilador usar o atributo específico do GCC (warn_unused_result). De algum modo os desenvolvedores da biblioteca C decidiram que o valor de retorno de scanf não deve ser ignorado na maioria dos casos, então eles deram a ele um atributo informando ao compilador para dar um aviso quando você não o usa.

O problema é que na imensa maioria dos casos você não vai lidar (diretamente) com o valor de retorno de scanf. De modo que este é um aviso que você poderá ignorar quase sempre.

Para desativar a warning você pode compilar usando a opção -Wno-unused-result, assim:

gcc nome_do_arquivo.c -o nome_do_arquivo.out -Wno-unused-result

Infelizmente este método te obrigará a setar a flag SEMPRE que for compilar cada arquivo individualmente. Para que você não precise inserir a flag na compilação (e se usa o maravilhoso Make para isso) você pode editar o seu Makefile e inserir essa opção nas flags da compilação, por exemplo, da seguinte forma:

override CFLAGS += -g -Wno-everything -pthread -lm -Wno-unused-result

Deste modo sempre que usar o make nomedoarquivo para compilar o arquivo (ou projeto) o compilador ignorará a warning e você não precisará, digamos, lidar com o valor de retorno de scanf.

terça-feira, 12 março, 2024 at 3:00 pm Deixe um comentário

Guia de configuração do ambiente de desenvolvimento nativo do Windows para usuários do Linux

Encontrei um repositório excelente com um Guia de configuração do ambiente de desenvolvimento nativo do Windows para usuários do Linux. As dicas são muito interessantes e valem para todos os developers.

Segue o link: https://github.com/rkitover/windows-dev-guide

Enjoy!

quarta-feira, 17 novembro, 2021 at 12:34 pm Deixe um comentário

“Cypherpunks” ou a era da vigilância!

Bom, demorou (14 dias! Falta de tempo crônica já está no CID?). Demorou, mas terminei o primeiro livro de 2016. “Cypherpunks: liberdade e o futuro da Internet” de Julian Assange, Jacob Appelbaum, Andy Müller-Maguhn e Jérémie Zimmerman “narrado” em forma de diálogo. O livro é absolutamente surpreendente pelas revelações, pela “abertura de olhos” de saber que estamos, todos, vigiados praticamente todo o tempo (até em nossas compras usando cartões de crédito ou transações bancárias!). Incrível imaginar, por exemplo, que interceptar (e armazenar!) por um ano as ligações de todos as pessoas de um país como a Alemanha (81 milhões de habitantes) é mais barato que um caça-bombardeiro moderno. A segurança e a guerra cibernética são os novos campos de batalhas dos conflitos (como o episódio do vírus Stuxnet sombriamente nos revela). E nós somos, infelizmente, vítimas de governos e marionetes nas mãos de empresas poderosas (como o Facebook, por exemplo), perdendo cada vez mais a privacidade (praticamente inexistente) e a liberdade! A Internet, ferramenta libertária, por sua própria natureza e história (e a primavera árabe serve-nos de testemunha) virou instrumento-mor de monitoração, vigilância e interceptação ferindo direitos mais básicos em nome de uma guerra e uma suposta segurança que, infelizmente, não nos protege dos reais inimigos: o poder e o dinheiro!
O livro é recomendadíssimo!

 

quinta-feira, 14 janeiro, 2016 at 8:22 pm Deixe um comentário

Sistema de Busca apaixonante… (Wolfram Alfa)

Eu conheci hoje um sistema de busca viciante e apaixonante (sim, mais do que o Google) chamado Wolfram Alfa. Para mim, que era fãzaço do programa Mathematica, então, nem se fala. O negócio é o seguinte: o Wolfram é visto com mais um google killer, embora, depois de usar bastante o serviço eu concorde com o Tiago Dória de que eles são mais complementares do que rivais, pois a proposta é (bem) diferente.

Entre outras cositas bacanas, com o Wolfram você faz cálculos (de uma complexidade viciante), e responde a perguntas e queries objetivamente e com dados (muuuitos dados). Por exemplo, experimentei a seguinte query no sistema de busca do sistema: “R$ 5400 in dollars”. A resposta: confiram que lindeza de resposta e digam se o negócio não é apaixonante.

O lance do sistema é respostas exatas sem links para páginas onde vc encontraria o conhecimento por si só. Ele me dá a localização exta da estação espacial internacional, o desenvolvimento da série de Taylor para sen^2(x), me mostra a diferença em nível físico-químico entre a cafeína e a aspirina, interpreta notas musicais mostrando as distâncias de tons e semitons entre elas (bom, por exemplo, para transpor os tons de escalas e cifras musicais), desenvolve, por exemplo a integral indefinida de uma função, como, por exemplo: , mostra os terremotos próximos à ponte Akashi-Kaikyō no japão, mostra o clima em Boston em 1998 (e mesmo o de Rio Branco em 2002)um gráfico de crescimento das meninas nascidas em 29 de junho de 2000, informações sobre um icosaedro, dados sobre a cidade que estou morando atualmente e uma INFINADE de outras informações.

O serviço ainda está em testes e as perguntas são sempre em Inglês, mas que as possibilidades (de crescimento e de pesquisas) são fascinantes, isso são. Ah, como bem lebra o Tiago Dória, é sempre bom confrontar os dados oriundos da Internet com outras fontes, sejam elas reais ou virtuais.

Até.

quarta-feira, 27 maio, 2009 at 6:27 pm Deixe um comentário

O fascinante mundo das Expressões Regulares

Sem dúvida, a maior inovação das últimas versões do Javascript diz respeito às poderosíssimas Expressões Regulares. Por exemplo, a validação de campos de formulários utilizando-se das Expressões regulares é algo que me impressiona muito devido à facilidade de codificação. Com elas, podemos usar verdadeiramente o conceito de máscara, assim como se faz em programação Desktop com Delphi, VB, Access e Java.

Um exemplo de máscara em campos de formulário usando as expressões regulares está perfeitamente ilustrado aqui neste artigo do Elcio no fechaTag. Tem máscara para telefone, CPF, CEP, CNPJ e para sites. Muito Bom. É só dar uma conferida.

Quem quiser saber mais sobre o interessantíssimo (e abstrato!)  universo das expressões regulares é só seguir os links abaixo:

Expressões Regulares – Guia de Consulta Rápida.
Expressões Regulares – Artigo de Guido Socher (quick overview recomendado para leigos).
Aurelio.NET – Expressões Regulares. – Autor de Vários livros, o Aurélio é especialista no assunto.
Expressões Regulares e os metacaracteres.
Apresentação de Slides sobre expressões regulares.
Tutorial de Expressões Regulares em C – Por Thobias Salazar Trevisan (muito prático)
Expressões regulares com Java
Expressões regulares no PHP
Validação de Formulários com Javascript e Expressões regulares
Sintaxe de Expressões regulares no MySQL

Confesso que também sou iniciante no assunto. Entretanto, me fascinei com o poder das expressões regulares. Fascinei-me tanto que até usei  em um trabalho da Pós-Graduação com JavaScript (eu mesmo fiz a expressão da validação!), que acho uma linguagem meio xexelenta, mas que quebra (e quebrou) um galhão. Além de ter me apresentado, na prática, às expressões regulares.

Abs.

terça-feira, 5 junho, 2007 at 12:33 pm 2 comentários


Follow Computador de papel: o conteúdo da forma on WordPress.com

Feeds

O Computador de Papel

O computador de papel nada mais é do que a tentativa de "humanizar" o computador, trazê-lo para a fantasia lúdica da realidade, fazê-lo compreendido pelos milhares que o usam, mas não o entendem. Nasceu de minhas viagens intelectuais defronte da tela de fósforo um dia em que ele retrucou-me: decifra-me ou te devoro. Para não ser devorado, ousei decifrá-lo. É também onde posto minhas aulas, meus trabalhos, minhas impressões de um pouco de nada sobre coisa nenhuma. É o local onde falo das minhas paixões, entre elas, a música, o cinema, a TI e a ciência. É um espaço de discussão sobre a realidade do computador, sua influência, seus avanços, o exercício do óbvio que é mostrar a sua importância no e para o mundo. Tem o estilo de seu criador, acelerado, com um tom sempre professoral, tresloucado, por vezes verborrágico, insano, nevrálgico, sem arroubos literários, atônito e contemplativo diante da realidade, apaixonado, livre, feito para mostrar que a TI é antes de tudo, feita por gente!

Estatísticas do blog

  • 151.793 cliques e contando...

Agenda de posts

maio 2024
S T Q Q S S D
 12345
6789101112
13141516171819
20212223242526
2728293031