Perguntas com a marcação «gcc»

GCC é a coleção de compiladores GNU. É o compilador padrão de fato para C, C ++, Go, Fortran e Ada no Linux e também suporta muitos outros idiomas e plataformas. Além do compilador, o GCC possui uma cadeia de ferramentas (libc, libstdc ++, objdump, nm etc.) que são amplamente usadas em várias plataformas e sistemas.

5
O __attribute __ ((empacotado)) / #pragma do gcc não é seguro?
Em C, o compilador colocará os membros de uma estrutura na ordem em que são declarados, com possíveis bytes de preenchimento inseridos entre os membros ou após o último membro, para garantir que cada membro esteja alinhado corretamente. O gcc fornece uma extensão de idioma __attribute__((packed)), que informa ao compilador …
164 c  gcc  pragma-pack 

5
Por que esse loop produz “aviso: a iteração 3u invoca um comportamento indefinido” e gera mais de 4 linhas?
Compilando isso: #include <iostream> int main() { for (int i = 0; i < 4; ++i) std::cout << i*1000000000 << std::endl; } e gccproduz o seguinte aviso: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] std::cout << i*1000000000 << std::endl; ^ Eu entendo que há um estouro inteiro assinado. O que …



3
LD_LIBRARY_PATH vs LIBRARY_PATH
Estou criando um programa C ++ simples e quero substituir 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 vinculador (ld) falhou com: / usr / bin / ld: não é possível encontrar -lyaml-cpp Eu esperava …
159 gcc  g++  ld 

3
declaração de função não é um protótipo
Eu tenho uma biblioteca que eu criei, mylib.c: #include <mylib.h> int testlib() { printf("Hello world\n"); return (0); } mylib.h: #include <stdio.h> extern int testlib(); No meu programa, tentei chamar esta função de biblioteca: myprogram.c: #include <mylib.h> int main (int argc, char *argv[]) { testlib(); return (0); } Quando tento compilar …
158 c  gcc 


24
Sinalizadores úteis do GCC para C
Além da configuração -Walle da configuração -std=XXX, que outros sinalizadores de compilador realmente úteis, mas menos conhecidos, existem para uso em C? Estou particularmente interessado em avisos adicionais e / ou em transformar avisos em erros em alguns casos para minimizar absolutamente qualquer incompatibilidade acidental de tipo.
157 c  gcc  compiler-flags 





2
O que o ffast-math do gcc realmente faz?
Entendo que o --ffast-mathsinalizador do gcc pode aumentar muito a velocidade das operações flutuantes e fica fora dos padrões do IEEE, mas não consigo encontrar informações sobre o que realmente está acontecendo quando está ligado. Alguém pode explicar alguns detalhes e talvez dar um exemplo claro de como algo mudaria …

6
Qual é a vantagem do __builtin_expect do GCC nas declarações if else?
Me deparei com um #define em que eles usam __builtin_expect. A documentação diz: Função interna: long __builtin_expect (long exp, long c) Você pode usar __builtin_expectpara fornecer ao compilador informações de previsão de ramificação. Em geral, você deve preferir usar o feedback real do perfil para isso (-fprofile-arcs ), pois os …
144 c  linux  gcc  built-in 

11
O uso de um compilador C desatualizado é um risco à segurança?
Temos alguns sistemas de construção em produção com os quais ninguém se importa e essas máquinas executam versões antigas do GCC como GCC 3 ou GCC 2. E não consigo convencer a gerência a atualizá-la para uma versão mais recente: eles dizem: "se não está quebrado, não conserte". Como mantemos …
139 c  security  gcc 

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.