Perguntas sobre 'macros'

3
respostas

Qual é a maneira recomendada de passar os resultados de cálculos de macro para o tempo de execução?

Estou tentando construir uma abstração semelhante a SQL e estou com um problema. Esta é uma "tabela de banco de dados" simplificada: trait Coffee { def id: Long def name: String def brand: String } Esta é a minha abstração de consu...
02.08.2012 / 14:19
1
resposta

Existe uma macro incorporada definida quando a otimização está ativada no clang?

Ao compilar com o gcc, a macro __OPTIMIZE__ é definida quando as otimizações são ativadas (consulte aqui ). Isso permite avisos de tempo de execução como os seguintes: #ifndef __OPTIMIZE__ printf("[WARNING] COMPILED WITHOUT OPTIMISATIONS...
31.01.2013 / 05:02
1
resposta

qual é o propósito das macros pré-processador definidas nos arquivos linux / compiler.h?

Sou muito novo no kernel do Linux. E estou usando a ferramenta esparsa para limpar o ruído presente no código. Eu encontrei essas macros: # define __user __attribute__((noderef, address_space(1))) # define __kernel __attribute__(...
17.10.2014 / 15:04
1
resposta

Macro para obter o tipo de uma expressão

Pergunta Eu estou tentando escrever uma macro C ++ que poderia usar type ou type name como entrada e dar type como saída. Por exemplo: REMOVE_NAME(int) deve ser int e REMOVE_NAME(int aNumber) também deve ser int...
03.09.2012 / 15:20
1
resposta

Verificando a atribuição de tipo varargs em macros do Scala

Suponha que eu tenha esta macro: import language.experimental.macros import scala.reflect.macros.Context object FooExample { def foo[A](xs: A*): Int = macro foo_impl[A] def foo_impl[A](c: Context)(xs: c.Expr[A]*) = c.literal(xs.size) }...
01.12.2012 / 21:03
9
respostas

c ++ # define uma macro com colchetes?

Em vez de fazer o seguinte toda vez start(); // some code here stop(); Gostaria de definir algum tipo de macro que possibilite escrever como: startstop() { //code here } É possível em C ++?     
17.04.2009 / 10:44
7
respostas

#define NULL NULL

#ifndef NULL #define NULL NULL #endif Este código é compilado no gcc sem avisos / erros. Alguém pode explicar o que o pré-processador está fazendo aqui?     
22.12.2009 / 23:38
4
respostas

Como o C offsetof macro funciona? [duplicado]

   Possível duplicar: Por que esse C trabalho de código? Como você usa offsetof ( ) em uma estrutura? Eu li sobre esse deslocamento da macro na Internet, mas isso não explica o que é usado. #define offsetof(a,b) ((int)(&(((a*...
26.10.2011 / 03:47
9
respostas

É uma boa ideia aplicar algumas macros básicas para simplificar o código em um projeto grande?

Eu tenho trabalhado em uma biblioteca de c ++ por algum tempo e há uma variedade de idéias que eu poderia realmente simplificar o processo de escrita e gerenciamento de código. Um deles é o conceito de introduzir algumas macros para ajudar a sim...
20.04.2010 / 18:47
4
respostas

Por que a macro 'max' é definida assim em C?

#define max(a,b) \ ({ typeof (a) _a = (a); \ typeof (b) _b = (b); \ _a > _b ? _a : _b; }) Por que não simplesmente (a>b ? a : b) ?     
16.03.2011 / 11:09