Resultados da pesquisa a pedido "compiler-optimization"

3 a resposta

Por que essa variável não utilizada não é otimizada?

Eu brinquei com o CompilerExplorer de Godbolt. Eu queria ver como são boas certas otimizações. Meu exemplo de trabalho mínimo é: #include <vector> int foo() { std::vector<int> v {1, 2, 3, 4, 5}; return v[4]; } O assembler gerado (pelo clang ...

3 a resposta

Como ler um arquivo .obj?

No visual studio, um arquivo de objeto (.obj) é gerado após a compilação de um arquivo c ++. Como ler e entender? Também como ver o código após a otimização do compilador no Visual studio 2015. Redirecione se isso já estiver respondido.

4 a resposta

O comportamento indefinido realmente ajuda os compiladores modernos a otimizar o código gerado?

Os compiladores modernos não são inteligentes o suficiente para gerar um código rápido e seguro ao mesmo tempo? Veja o código abaixo: std::vector<int> a(100); for (int i = 0; i < 50; i++) { a.at(i) = i; } ...É óbvio que o erro fora de alcance ...

3 a resposta

Como orientar as otimizações do GCC com base em afirmações sem custo de tempo de execução?

Eu tenho uma macro usada em todo o meu código que no modo de depuração: #define contract(condition) \ if (!(condition)) \ throw exception("a contract has been violated");... mas no modo de lançamento: #define contract(condition) \ if ...

2 a resposta

Por que usamos palavras-chave voláteis em C ++? [duplicado]

Possível duplicado: C ++: Quando a palavra-chave volátil já ajudou você? [https://stackoverflow.com/questions/72552/c-when-has-the-volatile-keyword-ever-helped-you] Eu nunca o usei, mas me pergunto por que as pessoas o usam? O que ...

3 a resposta

Por que o Clang está adicionando atributos automaticamente às minhas funções?

Eu tenho um pedaço de código que estou tentando transformar em código de bits LLVM: int main() { volatile double n = 0.45; for (int j = 0; j < 32; j++) { n *= j; } return 0; }Eu executo o seguinte comando nele: clang -O0 -S -emit-llvm ...

2 a resposta

Os tipos anônimos C # são redundantes em C # 7

Como o C # 7 apresenta tuplas de valor, existe um cenário significativo em que elas são mais adequadas que as tuplas? Por exemplo, a seguinte linha collection.Select((x, i) => (x, i)).Where(y => arr[y.i].f(y.x)).ToArray();faz a seguinte ...

6 a resposta

Por que o gcc pode carregar especulativamente a partir de uma estrutura?

Exemplo mostrando a otimização do gcc e o código do usuário que podem falharA função 'foo' no snippet abaixo carregará apenas um dos membros da estrutura A ou B; bem, pelo menos essa é a intenção do código não otimizado. typedef struct { int A; ...

2 a resposta

Qual é a diferença entre as opções do compilador / Ox e / O2?

O compilador C ++ da Microsoft (cl.exe, conforme incluído no Visual Studio) oferecevárias opções de otimização [http://msdn.microsoft.com/en-us/library/k1ack8f1.aspx]. A diferença entre a maioria delas parece auto-explicativa, mas não está claro ...

2 a resposta

Como sugerir ao otimizador de compilador do Visual C ++ que é improvável que uma ramificação específica de uma instrução if seja executada?

Temos uma macro para verificação de erros que é assim: #define CheckCondition( x ) \ if( x ) { \ //okay, do nothing \ } else { \ CallFunctionThatThrowsException(); \ }e normalmente a condição deve sertrue e gostaríamos que a previsão de ...