Resultados da pesquisa a pedido "c-preprocessor"

3 a resposta

Como resolver a variável int antes de passar para macros C / C ++? [fechadas]

Estou tentando executar o seguinte código: #define channel1 10 #define channel(id) channel##id int main(){ int id = 1; cout << channel(id)<<"\n"; return 0; }Estou tendo o erro a seguir:error: use of undeclared identifier 'channelid' Em vez ...

2 a resposta

Como concatenar, avaliar e restringir macros?

Estou tentando restringir a substituição (avaliação) de uma concatenação de macro. Por exemplo: #include <stdio.h> #define FOO_ONE 12 #define FOO_TWO 34 #define BAR_ONE 56 #define BAR_TWO 78 #define MAKE_MAC(mac) // ... what to do here? void ...

1 a resposta

Como interpretar linhas pré-fixadas em # na saída do pré-processador C?

A seguir está o código do hello.c: #include <stdio.h> int main (void) { printf ("Hello, world!\n"); return 0; }Eu usei o comandogcc -E hello.c pré-processá-lo e obteve a seguinte saída: # 1 "hello.c" # 1 "<built-in>" # 1 "<command-line>" # ...

3 a resposta

Definição condicional de elementos em uma macro X

Imagine que eu tenho umX Macro [https://en.wikipedia.org/wiki/X_Macro]para uma lista de itens definidos mais ou menos assim: #define X_MACRO(FN) \ FN(foo) \ FN(bar) \ FN(zip)Isso funciona muito bem e posso chamá-lo para gerar o mesmo código ...

2 a resposta

Por que todos os arquivos C escritos pelo meu palestrante começam com um #?

Por que todos os arquivos C escritos pelo meu palestrante começam com um #? Estou passando por algumas anotações do curso C ecada O arquivo de origem do programa C começa com um único# na primeira linha do programa. Depois, há espaços em branco ...

1 a resposta

Pré-processador: concatene a string para cada argumento em __VA_ARGS__

Eu gostaria de acrescentar um argumento de macro estrito a cada elemento em uma macro variável. Acho que sei o que preciso, mas ainda não consegui encontrar uma solução funcional. Dada uma macro variável, como: #define FIELD_DECLARATION(NAME, ...

3 a resposta

Por que essa substituição de macro aninhada está falhando?

Estou tentando aplicar oX Macro [https://stackoverflow.com/questions/6635851/real-world-use-of-x-macros] conceito, para ter a possibilidade de inicializar todos os membros da estrutura para um valor padrão (inválido) personalizado. Eu escrevo o ...

2 a resposta

Por que definir uma macro com o mesmo nome e conteúdo em C?

Eu estou olhandoif_link.h nos cabeçalhos do kernel do Linux e ele contém esta enumeração: enum { IFLA_UNSPEC, IFLA_ADDRESS, IFLA_BROADCAST, IFLA_IFNAME, IFLA_MTU, IFLA_LINK, IFLA_QDISC, IFLA_STATS, IFLA_COST, #define IFLA_COST ...

10 a resposta

Por que não concatenar arquivos de origem C antes da compilação? [duplicado]

Esta pergunta já tem uma resposta aqui: # incluir todos os arquivos .cpp em uma única unidade de compilação? [/questions/543697/include-all-cpp-files-into-a-single-compilation-unit] 5 respostasOs benefícios / desvantagens da unidade constrói? ...

3 a resposta

Tokens válidos de pré-processador na concatenação de macro

Tentei entender as macros em c usando o operador de pré-processador de concatenação ##, mas percebi que tenho problemas com tokens. Eu pensei que era fácil, mas na prática não é. Portanto, a concatenação é para concatenar dois tokens para criar ...