Perguntas com a marcação «c-preprocessor»

Um processador de macro textual aplicado antes de compilar programas de linguagem C e C ++. Essa tag também pode ser usada para perguntas sobre outros compiladores / linguagens derivados ou que tenham recursos idênticos, como os #directives em Objective-C ou C #.

19
#ifdef vs #if - o que é melhor / mais seguro como método para habilitar / desabilitar a compilação de seções específicas do código?
Isso pode ser uma questão de estilo, mas há um pouco de divisão em nossa equipe de desenvolvimento e eu me pergunto se mais alguém tem alguma idéia sobre o assunto ... Basicamente, temos algumas instruções de impressão de depuração que desativamos durante o desenvolvimento normal. Pessoalmente, prefiro fazer o …

3
Qual macro predefinida posso usar para detectar o clang?
Estou tentando detectar o compilador usado para compilar meu código-fonte. Posso encontrar facilmente macros predefinidas para verificar se há MSVC ou GCC (consulte http://predef.sourceforge.net/ por exemplo), mas não consigo encontrar nenhuma macro para verificar se há clang. Alguém sabe se o clang define uma macro como __CLANG__para saber o que …


10
Número da linha C / C ++
Para fins de depuração, posso obter o número da linha em compiladores C / C ++? (forma padrão ou formas específicas para certos compiladores) por exemplo if(!Logical) printf("Not logical value at line number %d \n",LineNumber); // How to get LineNumber without writing it by my hand?(dynamic compilation)


7
Vírgula na macro C / C ++
Digamos que temos uma macro como esta #define FOO(type,name) type name Que poderíamos usar como FOO(int, int_var); Mas nem sempre tão simplesmente: FOO(std::map<int, int>, map_var); // error: macro "FOO" passed 3 arguments, but takes just 2 Claro que poderíamos fazer: typedef std::map<int, int> map_int_int_t; FOO(map_int_int_t, map_var); // OK o que …
103 c++  c  macros  c-preprocessor 

11
Macro vs Função em C
Sempre vi exemplos e casos em que usar macro é melhor do que usar função. Alguém poderia me explicar com um exemplo a desvantagem de uma macro em relação a uma função?

8
Como definir um símbolo de pré-processador no Xcode
É possível definir um símbolo para compilação condicional configurando propriedades em um projeto Xcode? Meu objetivo é criar um símbolo que esteja disponível para todos os arquivos, sem a necessidade de importar / incluir, para que um conjunto de classes comuns possa ter um comportamento especial em alguns projetos. Como …

4
A função de #ifdef e #ifndef
#define one 0 #ifdef one printf("one is defined "); #ifndef one printf("one is not defined "); Nesse caso, qual é a função de #ifdefe #ifndef, e qual é a saída?

8
Indentação # define
Eu sei disso #define s, etc. normalmente nunca são indentados. Por quê? Estou trabalhando em algum código no momento que tem uma mistura horrível de #defines, #ifdefs, #elses, #endifs, etc. Tudo isso geralmente misturado com o código C normal. O não recuo do #defines torna-os difíceis de ler. E a …

12
Pré-processador C ++ __VA_ARGS__ número de argumentos
Pergunta simples para a qual não consegui encontrar resposta na rede. Em macros de argumento variadic, como encontrar o número de argumentos? Estou bem com pré-processador boost, se tiver a solução. Se fizer diferença, estou tentando converter o número variável de argumentos da macro para aumentar a sequência, lista ou …


4
Pragma em definir macro
Existe alguma maneira de incorporar a instrução pragma na macro com outras instruções? Estou tentando alcançar algo como: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Aceito soluções de impulso (exceto para onda), se …



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.