Articles of gcc

Inicialização agregada de C ++ 11 para classs com inicializadores de membro não estático

É permitido no padrão: struct A { int a = 3; int b = 3; }; A a{0,1}; // ??? Essa class ainda é agregada? clang aceita este código, mas o gcc não.

Como você usa o gcc para gerar código assembly na syntax da Intel?

A opção gcc -S irá gerar o código assembly na syntax da AT & T, existe uma maneira de gerar arquivos na syntax da Intel? Ou existe uma maneira de converter entre os dois?

Como suprimir avisos do GCC dos headers da biblioteca?

Eu tenho um projeto que usa log4cxx, boost, etc. bibliotecas cujos headers geram muitos avisos (repetitivos). Existe uma maneira de suprimir os avisos da biblioteca inclui (ou seja, #include ) ou inclui de certos caminhos? Eu gostaria de usar -Wall e / ou -Wextra como de costume no código do projeto sem que informações relevantes […]

É errno thread-safe?

Em errno.h , esta variável é declarada como extern int errno; então minha pergunta é, é seguro verificar o valor de errno após algumas chamadas ou usar perror () no código multi-threaded. Esta é uma variável segura de thread? Se não, então qual é a alternativa? Eu estou usando o linux com gcc na arquitetura […]

Por que a saída std :: cout desaparece completamente depois que o NULL é enviado para ela?

Demorei um pouco para descobrir por que algumas saídas parecem desaparecer no éter. O culpado: std::cout<< "This line shows up just fine" << std::endl; const char* some_string = a_function_that_returns_null(); if (some_string == 0) std::cout<< "Let's check the value of some_string: " << some_string << std::endl; std::cout<< "This line and any cout output afterwards will not […]

LD_LIBRARY_PATH vs LIBRARY_PATH

Estou construindo um programa C ++ simples e quero replace temporariamente uma biblioteca compartilhada fornecida pelo sistema por uma versão mais recente, para desenvolvimento e teste. Tentei definir a variável LD_LIBRARY_PATH, mas o linker (ld) falhou com: / usr / bin / ld: não é possível localizar -lyaml-cpp Eu esperava que isso funcionasse porque, de […]

Trabalhando de fork () no linux gcc

fork() cria um novo processo e o processo filho começa a ser executado a partir do estado atual do processo pai. Isso é o que eu sei sobre fork() no Linux. Então, de acordo com o seguinte código: int main() { printf(“Hi”); fork(); return 0; } precisa imprimir “Hi” apenas uma vez de acordo com […]

Símbolo indefinido ___gxx_personality_v0 no link

Eu tenho recebido este edifício de símbolo indefinido com esta linha de comando: $ gcc test.cpp Undefined symbols: “___gxx_personality_v0”, referenced from: etc… test.cpp é simples e deve construir bem. Qual é o acordo?

É uma extensão de compilador em conformidade para tratar funções de biblioteca padrão não-constexpr como constexpr?

gcc compila o seguinte código sem aviso: #include struct foo { static constexpr double a = std::cos(3.); static constexpr double c = std::exp(3.); static constexpr double d = std::log(3.); static constexpr double e1 = std::asin(1.); static constexpr double h = std::sqrt(.1); static constexpr double p = std::pow(1.3,-0.75); }; int main() { } Nenhuma das funções […]

Quais são as opções de linha de comando –start-group e –end-group?

Qual é o propósito dessas opções de linha de comando? Por favor, ajude a decifrar o significado da seguinte linha de comando: -Wl,–start-group -lmy_lib -lyour_lib -lhis_lib -Wl,–end-group -ltheir_lib Aparentemente, tem algo a ver com linkar, mas o manual do GNU é silencioso, o que exatamente significa agrupamento.