Resultados da pesquisa a pedido "c-preprocessor"

3 a resposta

Posso tornar uma diretiva de pré-processador dependente da versão do .NET framework?

Aqui está um exemplo concreto do que eu quero fazer. Considere ostring.Join função. Antes do .NET 4.0, havia apenas duas sobrecargas, as quais exigiam umastring[] parâmetro. A partir do .NET 4.0, há novas sobrecargas que exigem tipos de ...

5 a resposta

As instruções do pré-processador devem estar no início de uma linha?

Há algum tempo, descobri um compilador C (bastante antigo), que examinava macros dessa maneira (pseudo-código): if line.startswith("#include") or line.startswith("#define"): ..... Que tipo de pergunta me colocou onde as macros deveriam ser ...

3 a resposta

Posso anexar a uma macro de pré-processador?

Existe alguma maneira no C padrão - ou com extensões GNU - de acrescentar coisas a uma definição de macro?Por exemplo., dada uma macro definida como #define List foo bar posso acrescentarbas para queList expande como se eu tivesse ...

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 ...

6 a resposta

Como posso gerar uma lista de valores #define do código C?

Eu tenho um código que possui muitos códigos de erro #define complicados que não são fáceis de decodificar, pois estão aninhados em vários níveis. Existe alguma maneira elegante de obter uma lista de #defines com seus valores numéricos finais ...

8 a resposta

C ++: Uma macro pode expandir “abc” para 'a', 'b', 'c'?

Eu escrevi um modelo variadic que aceita um número variável dechar parâmetros, ou seja, template <char... Chars> struct Foo;Eu só estava me perguntando se havia algum truque de macro que me permitisse instanciar isso com sintaxe semelhante ...

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 ...

4 a resposta

Como identificar a plataforma / compilador a partir de macros do pré-processador?

Estou escrevendo um código de plataforma cruzada, que deve compilar no Linux, Windows, Mac OS. No Windows, devo oferecer suporte ao visual studio e mingw. Existem algumas partes do código específico da plataforma, que devo colocar em#ifdef .. ...

1 a resposta

Variáveis anônimas em C ++

Por que isso não funciona? 0. #define CONCAT(x, y) x ## y 1. 2. #define VAR_LINE(x) \ 3. int CONCAT(_anonymous, __LINE__) = x 4. 5. #define VAR_LINE2(x) \ 6. int _anonymous ## x = 1 7. 8. int main() 9. { 10. VAR_LINE(1); 11. VAR_LINE(1); ...

9 a resposta

As expressões C constantes são avaliadas no tempo de compilação ou no tempo de execução?

Se eu escrever um#definir que executa uma operação usando outras constantes do pré-processador, o valor final é calculado cada vez que a macro aparece no tempo de execução? Isso depende de otimizações no compilador ou é coberto por ...