Articles of gcc

Retornando struct contendo array

Os seguintes segfaults de código simples sob gcc 4.4.4 #include typedef struct Foo Foo; struct Foo { char f[25]; }; Foo foo(){ Foo f = {“Hello, World!”}; return f; } int main(){ printf(“%s\n”, foo().f); } Alterar a linha final para Foo f = foo(); printf(“%s\n”, ff); Funciona bem. Ambas as versões funcionam quando compiladas com […]

Compilar com -static-libgcc -static-libstdc ++ ainda resulta em dependência dinâmica em libc.so

Estou tentando fazer um executável que seja o mais portátil possível. Depois de remover algumas dependencies, me deparei com o seguinte ao executar o binário em outro sistema: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.15′ not found (required by foob) /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15′ not found (required by foob) /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14′ not found (required by foob) Eu prefiro que […]

Exceção de exception handling de medição em C ++

Qual é a melhor maneira de medir o overhead / performance de exception handling em C ++? Por favor, dê amostras de código autônomo. Estou direcionando o Microsoft Visual C ++ 2008 e o gcc. Preciso obter resultados dos seguintes casos: Sobrecarga quando não há blocos try / catch Sobrecarga quando há blocos try / […]

Obter o endereço inicial e final da seção de texto em um executável

Preciso obter o endereço inicial e final da seção de texto de um executável. Como posso conseguir? Posso obter o endereço inicial do símbolo _init ou do símbolo _start , mas e o endereço final? Devo considerar o endereço final da seção de text como o último endereço antes de iniciar a seção .rodata ? […]

Por que alguém usaria #include_next em um projeto?

Para citar a documentação do iOS em headers de invólucros : #include_next não distingue entre inclusão de e “file”, nem verifica se o arquivo especificado tem o mesmo nome do arquivo atual. Ele simplesmente procura pelo arquivo nomeado, iniciando com o diretório no caminho de busca após aquele em que o arquivo atual foi encontrado. […]

Como posso ver a tree de análise, o código intermediário, o código de otimização e o código de assembly durante a COMPILAÇÃO?

Eu estou estudando curso Compilers, compilation do programa segue os passos abaixo Análise lexical Análise de syntax Análise semântica Geração de código intermediário Otimização de código Geração de código alvo. Como posso ver a saída de cada etapa, por exemplo, quero ver a tree de análise após a análise de syntax. Eu estou compilando o […]

Como compilar e executar um programa C simples com o Sublime Text 2?

Eu quero compilar um programa C simples com o GCC. O que eu preciso colocar no arquivo sublime-build para fazer isso?

g ++ Como obter um aviso ao ignorar o valor de retorno da function

O lint produz alguns avisos como: foo.c XXX Warning 534: Ignoring return value of function bar() Do manual de cotão 534 Ignorando o valor de retorno da function ‘Símbolo’ (compare com a localização) Uma function que retorna um valor é chamada apenas para efeitos colaterais, como, por exemplo, em uma instrução ou no lado esquerdo […]

problemas de vinculação de matemática no Ubuntu 11.10

Algum erro estranho apareceu depois que eu atualizei meu Ubuntu de (10.11, 11.04 i dont know) para 11.10. Eu estou recebendo uma undefined reference to ‘sqrt’ enquanto estiver usando math.he link com -lm Estou compilando com gcc -Wall -Werror -g -Iinclude/ -lm lib/matrix.c src/analyse.c -o bin/analyse.o ambos os arquivos de origem usam e incluem math.h. […]

GCC: o tipo de matriz tem um tipo de elemento incompleto

Eu declarei uma estrutura e tento passar uma matriz dessas estruturas (bem como uma matriz dupla de duplas e um inteiro) em uma function. Eu recebo uma mensagem “tipo de matriz tem tipo de elemento incompleto” do gcc quando eu a compilo. O que eu tenho errado em como eu passo a estrutura para a […]