Articles of gcc

GCC C ++ O programa “Hello World” -> .exe é grande em 500kb quando compilado no Windows. Como posso reduzir seu tamanho?

Recentemente, comecei a aprender C ++ – estou usando a versão do MingW do Nuwen no Windows, usando o NetBeans como IDE (também tenho o MSDN AA Versão do MSVC 2008, embora não o use com muita frequência). Ao compilar este programa simples: #include using namespace std; int dog, cat, bird, fish; void f(int pet) […]

Como fazer um trabalho de links fracos com o GCC?

Parece haver 3 maneiras de dizer ao GCC que o link fraco é um símbolo: __attribute__((weak_import)) __attribute__((weak)) #pragma weak symbol_name Nada disso funciona para mim: #pragma weak asdf extern void asdf(void) __attribute__((weak_import, weak)); … { if(asdf != NULL) asdf(); } Eu sempre recebo um erro de link como este: Símbolos indefinidos: “_asdf”, referenciado de: _asdf […]

Qual é a diferença entre gcc e g ++ / gcc-c ++?

Parece-me que o gcc pode lidar com ambos os projetos c e c ++, então por que é necessário o g ++ / gcc-c ++? Qual é a diferença entre o g ++ e o gcc-c ++?

Por que o GCC não otimiza as estruturas?

Os sistemas exigem que certas primitivas sejam alinhadas a certos pontos dentro da memory (ints para bytes que são múltiplos de 4, curtos para bytes que são múltiplos de 2, etc.). Naturalmente, eles podem ser otimizados para desperdiçar o mínimo de espaço no preenchimento. Minha pergunta é por que o GCC não faz isso automaticamente? […]

Por que recebo um aviso toda vez que uso o malloc?

Se eu usar malloc no meu código: int *x = malloc(sizeof(int)); Eu recebo este aviso do gcc : new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’

Existe uma maneira de instalar o gcc no OSX sem instalar o Xcode?

Eu pesquisei o inferno, e parece que não há como instalar o gcc no OS X sem instalar o Xcode (que ocupa 1,5 GB de espaço). Tudo que eu preciso é o gcc e nenhum outro lixo que vem com o Xcode. E neste momento, vou pegar qualquer outro tipo de compilador C. Eu sei […]

Por que preciso definir LD_LIBRARY_PATH com uma exportação sempre que executo meu aplicativo?

Eu tenho algum código que usa algumas bibliotecas compartilhadas (código c no gcc). Ao compilar, tenho que definir explicitamente os diretórios include e library usando -I e -L, já que eles não estão nos locais padrão. Quando tento executar o código, recebo o seguinte erro: ./sync_test ./sync_test: error while loading shared libraries: libsync.so: cannot open […]

C ++ 11: Como alias uma function?

Se eu tenho uma class Foo na barra de namespace: namespace bar { class Foo { … } }; Eu posso então: using Baz = bar::Foo; e agora é como eu defini a class no meu namespace com o nome Baz. É possível fazer o mesmo para funções? namespace bar { void f(); } E […]

C ++: long long int vs. long int vs. int64_t

Eu experimentei algum comportamento estranho enquanto usava traços do tipo C ++ e reduzi meu problema a esse pequeno problema peculiar, pelo qual darei uma tonelada de explicação, já que não quero deixar nada em aberto para interpretações erradas. Digamos que você tenha um programa assim: #include #include template bool is_int64() { return false; } […]

GCC com o Visual Studio?

Quão difícil seria usar o GCC em vez do VC ++ de dentro do Visual Studio 2008? Obviamente, algumas das palavras-chave não correspondem, e algumas podem não receber destaque de syntax (a menos que você tenha feito um novo serviço de idioma). É isso que um ‘projeto makefile‘ é para praticamente?