Perguntas com a marcação «c»

153
~ x + ~ y == ~ (x + y) é sempre falso?

Esse código sempre é avaliado como falso? Ambas as variáveis ​​são entradas assinadas do complemento de duas. ~x + ~y == ~(x + y) Sinto que deve haver um número que satisfaça as condições. Tentei testar os números entre -5000e 5000nunca alcançou a igualdade. Existe uma maneira de configurar uma...

153
O num ++ pode ser atômico para 'int num'?

Em geral, para int num, num++(ou ++num), como uma operação de leitura-modificação-gravação, não é atômica . Mas muitas vezes vejo compiladores, por exemplo o GCC , gerar o seguinte código ( tente aqui ): Como a linha 5, que corresponde a num++uma instrução, podemos concluir que num++ é atômica...

152
Tratamento de erros no código C

O que você considera "prática recomendada" quando se trata de tratar erros de maneira consistente em uma biblioteca C. Há duas maneiras em que estive pensando: Sempre retorne o código de erro. Uma função típica seria assim: MYAPI_ERROR getObjectSize(MYAPIHandle h, int* returnedSize); O sempre...

152
Code Golf: Lasers

Bloqueado . Esta pergunta e suas respostas estão bloqueadas porque a questão está fora do tópico, mas tem um significado histórico. No momento, não está aceitando novas respostas ou interações. O desafio O código mais curto por contagem de caracteres para inserir...

152
O que significa "#define _GNU_SOURCE"?

Hoje eu tive que usar a basename()função, e o man 3 basename( aqui ) me deu uma mensagem estranha: Notas Existem duas versões diferentes de basename () - a versão POSIX descrita acima e a versão GNU , que é obtida depois #define _GNU_SOURCE #include <string.h> Estou imaginando o...

152
Retornando uma matriz usando C

Eu sou relativamente novo em C e preciso de ajuda com métodos para lidar com matrizes. Vindo da programação Java, estou acostumado a ser capaz de dizer int [] method()para retornar uma matriz. No entanto, descobri que com C você precisa usar ponteiros para matrizes quando as devolve. Sendo um novo...