Resultados da pesquisa a pedido "c11"

1 a resposta

As instruções DMB podem ser omitidas com segurança no ARM Cortex M4

Estou passando pelo assembly gerado pelo GCC para um ARM Cortex M4 e notei queatomic_compare_exchange_weak recebe doisDMB instruções inseridas em torno da condição (compiladas com o GCC 4.9 usando-std=gnu11 -O2): // if ...

1 a resposta

error: uso do identificador não declarado 'errno_t'

Aqui está o meu código fictício simples e morto: #include <errno.h> int main(void) { errno_t e; return 0; }O que surpreendentemente gera esse erro: main.c:5:5: error: use of undeclared identifier 'errno_t' errno_t x; ^Eu comecei asiga os ...

2 a resposta

Tipos de ponteiro incompatíveis passando na macro _Generic

O código a seguir gera 2 avisos descritos no título da pergunta. #include <stdio.h> static void _print_f(float *f){printf("float : %f\n", *f);} static void _print_i(int *i) {printf("int : %d\n", *i);} #define print(num) _Generic((num), \ int* : ...

2 a resposta

Compilar verificação de tempo contra vários tipos em C?

Atualmente, tenho uma macro para verificar se um valor é um tipo. #define CHECK_TYPE_INLINE(val, type) \ ((void)(((type)0) != (0 ? (val) : ((type)0))))Isso é útil para poder verificar os argumentos de macro em alguns casos. Mas e se eu fosse ...

1 a resposta

A chamada scanf não verificada pode causar um comportamento indefinido?

O trecho abaixo invoca um comportamento indefinido em caso de erro? #include <stdio.h> int main() { int i; /* Indeterminate */ if (scanf("%d", &i) == 1) /* Initialize */ printf("%d\n", i); /* Success! Print read value */ else printf("%d\n", i); ...

1 a resposta

Por que o gcc não implementou as funções _s?

funções _s, comoscanf_s, printf_s parece ser um padrão opcional. O MSVC implementou essas funções, mas o gcc não. Existe um motivo específico para não implementar funções seguras? Éscanf do gcc seguro o suficiente?

2 a resposta

Existe uma maneira de usar o GCC __attribute __ ((noreturn)) e <stdnoreturn.h> sanely em uma única unidade de tradução?

Em C11, existe a palavra-chave_Noreturn que é um especificador de função (comoinline é) que indica que a função não retorna - chamaexit() ou equivalente. Há também um cabeçalho,<stdnoreturn.h>, a definição completa para a qual é: 7.23_Noreturn ...

3 a resposta

Por que posso usar gets () em gcc -std = c11?

ogets() A função foi removida do idioma C. Nenhuma função existe no padrão. No entanto, eu compilo o seguinte código: #include <stdio.h> int main (void) { (void) gets (NULL); }usando gcc -std=c11 -pedantic-errors -Wall -Wextrae compila sem dar ...

1 a resposta

Existem implementações que suportam um zero negativo ou o reservam como uma representação de interceptação?

Na maioria das implementações atuais, um valor inteiro assinado que possui um padrão de bits 1 para o bit de sinal e todos os 0 para os bits de valor tendem a representar o menor valor possível para esse tipo de número inteiro assinado. No ...

5 a resposta

C1x: Quando vai pousar, o que esperar?

O C99 ainda não é suportado por muitos compiladores, e grande parte do foco agora está no C ++ e em seu próximo padrão C ++ 1x. Estou curioso para saber o que C "obterá" em seu próximo padrão, quando será obtido e como manterá C competitivo. ...