'programação' Category

  • nov
    29
    2009

    Assembly inline

    I’ve made some code snippets about assembly inline with GCC. A quick search points to a lot of good documentation.

    IBM DeveloperWorks about Inline asssembly for x86 in Linux
    Linux Documentation Project HOWTO describing GCC Inline Assembly

    The syntax may be confusing, if you don’t understand read the documentation available. Each example are an C function with [...]

  • nov
    25
    2009

    Google Translate na linha de comando

    Isto pode ser feito de mil maneiras diferentes (e até mais simples) : usando shell script, python, php, etc. Resolvi fazer uma prova do conceito em Qt/C++ para treinar. Para executar baixe o script de instalação install-translate.sh que ira fazer o downlad dos arquivos e compilar.

  • nov
    12
    2009

    Otimização

    Dentre as diversas apresentações no Linux Kongress 2009 a palestra do Felix von Leitner’s me chamou atenção. Com título “Compiler Optimization Survey” ele discutiu os aspectos relacionados a programação nos compiladores modermos e as possibilidades de otimização (slides).  A idéia básica é que:

    Otimização é importante
    Mas frequentemente: Código legível é mais importante
    Aprenda o que seu compilador [...]

  • set
    27
    2009

    Depurando programas em assembly no GNU/Linux (parte 1)

    Embora eu particularmente prefira a sintaxe AT&T à Intel. Estou tendo que aprender a usá-la (e bem). Para os estudos optei pelo NASM, GNU ld e o GDB. Um processo simples, descrito abaixo:
    #nasm -g -f elf programa.asm
    #ld programa.o
    #gdb -q a.out
    Vamos fazer um pequeno programa teste que carrega no registro ecx o valor da variável [...]

  • set
    21
    2009

    Básico de ponteiros com o GDB

    Esse é um pequeno lembrete para quem quer pegar o conceito de ponteiro rápido. É tão simples que nem programa direito você vai precisar, só seguir sua intuição e o GDB
    1. Básico
    Vamos começar com um código muito simples.

    #include <stdio.h>
    int main(int argc, char *argv[]) {
    int *ptr = NULL;
    int variavel_A;
    int variavel_B;
    variavel_A = 5;
    variavel_B = 18;
    return [...]

  • set
    11
    2009

    Enviando SMS no GNU/Linux

    Essa semana vi no blog do Mauro Martins um post sobre mandar SMS a partir do Excel (recomendo ler lá antes). Fiquei curioso, mas por opção resolvi utilizar apenas o GNU/Linux. O exemplo a seguir pode ser feito utilizando qualquer sistema Linux, a linguagem Python (com o módulo do PySerial instalado) e um celular smartphone [...]

  • set
    09
    2009

    PySerial – Utilize o Python para controlar a interface serial

    Embora seja uma tecnologia antiga ainda é utilizada amplamente, muitos dos projetos eletrônicos no estilo “faça você mesmo” utilizam o protocolo de comunicação serial. Este post mostra como é possível (e fácil) utilizar a linguagem Python para fazer a interface com a porta serial (RS232) seja no Windows, GNU/Linux, *BSD, Solaris, etc. Com o PySerial [...]

  • jul
    23
    2009

    Máscaras de bits

    Este é um pequeno resumo para utilizar máscara-de-bits quando você precisar armazenar flags booleanas em uma única variável inteira. Abaixo estão dois exemplos, um em C e outro em Python.
    Linguagem C

    #define FLAG_TEMPERATURA 1
    #define FLAG_ALARME_1 2
    #define FLAG_ALARME_2 4
    #define FLAG_INTERRUPCAO 8

    Lembre-se de organizar em potências de 2.
    1) Para verificar o valor utilize [...]