Articles of compiler construction

C compilador afirma – como implementar?

Gostaria de implementar uma “declaração” que evita a compilation, em vez de falhar no tempo de execução, no caso de erro. Eu atualmente tenho um definido como este, que funciona muito bem, mas que aumenta o tamanho dos binários. #define MY_COMPILER_ASSERT(EXPRESSION) switch (0) {case 0: case (EXPRESSION):;} Exemplo de código (que não consegue compilar). #define […]

Detectando tempo de compilation da arquitetura da CPU

Qual é a maneira mais confiável de descobrir a arquitetura da CPU ao compilar o código C ou C ++? Tanto quanto eu posso dizer, diferentes compiladores têm seu próprio conjunto de definições de pré-processador não padrão ( _M_X86 em MSVS, __i386__ , __arm__ no GCC, etc). Existe uma maneira padrão de detectar a arquitetura […]

operador implícito usando interfaces

Eu tenho uma class genérica que estou tentando implementar o tipo de conversão implícita. Embora funcione principalmente, não funcionará para a transmissão de interface. Após investigação adicional, descobri que há um erro do compilador: “Conversão definida pelo usuário da interface” que se aplica. Embora eu entenda que isso deve ser imposto em alguns casos, o […]

Qt: não é possível encontrar o erro -LGL

Eu apenas reinstalei o QtCreator, criei um novo projeto ( Qt Application ) e obtive isso após a compilation: /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process “/usr/bin/make” exited with code 2. Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit) When […]

O que é o Stream Fusion do Haskell?

O que é o Stream Fusion do Haskell e como usá-lo?

O que significa quando uma constante numérica em C / C ++ é prefixada com um 0?

Ok … Então eu tive uma idéia boba e tentei colocar o valor 0123 em um int, apenas curioso para ver o que aconteceria, eu assumi que quando imprimi o valor eu pegaria 123, mas ao invés disso eu tenho 83 … Alguma idéia por quê? o que acontece dentro do compilador / memory que […]

valor inicial da matriz int em C

Ao declarar um array em C assim: int array[10]; Qual é o valor inicial dos inteiros ?? Estou obtendo resultados diferentes com compiladores diferentes e quero saber se isso tem algo a ver com o compilador ou com o sistema operacional.

Como foi o primeiro compilador escrito?

Eu ouvi sobre o frango e o ovo e bootstrapping. Eu tenho algumas perguntas. O que escreveu o primeiro compilador que converteu algo em instruções binárias? A assembly é compilada ou traduzida em instruções binárias? … Eu acho difícil acreditar que eles escreveram um compilador em binário.

Leitura do GHC Core

Core é a linguagem intermediária do GHC. O Reading Core pode ajudá-lo a entender melhor o desempenho do seu programa. Alguém me pediu documentação ou tutoriais sobre a leitura do Core, mas não consegui encontrar muita coisa. Qual documentação está disponível para leitura do GHC Core? Aqui está o que eu encontrei até agora: Escreva […]

opção javac para compilar todos os arquivos java sob um determinado diretório recursivamente

Eu estou usando o compilador javac para compilar arquivos java no meu projeto. Os arquivos são distribuídos em vários pacotes como este: com.vistas.util , com.vistas.converter , com.vistas.LineHelper , com.current.mdcontect . Cada um desses pacotes tem vários arquivos java. Eu estou usando o javac assim: javac com/vistas/util/*.java com/vistas/converter/*.java com.vistas.LineHelper/*.java com/current/mdcontect/*.java (em uma linha) Em vez de […]