Articles of c99

Definindo o sinalizador std = c99 no GCC

Eu queria saber se havia algum arquivo em que eu poderia definir o -std=c99 , para que eu não teria que defini-lo para cada compilation. Eu estou usando o GCC 4.4 no Ubuntu.

Membro de matriz flexível na estrutura C

Citando a seção C-std 6.7.2.1, struct s { int n; double d[]; }; Esta é uma declaração de estrutura válida. Eu estou procurando algum uso prático deste tipo de syntax. Para ser preciso, como essa construção é mais ou menos poderosa do que manter um duplo * como o segundo elemento? Ou este é outro […]

Qual é a diferença entre C, C99, ANSI C e GNU C?

Eu comecei a prática de programação no codechef e fiquei confuso com a diferença entre C e C99. O que C significa aqui? É C89? Verifique os idiomas na parte inferior deste envio . Contém C e C99. Eu encontrei na internet algo chamado GNU C. Existe um C diferente para sistemas linux / unix? […]

Qual é o status oficial do suporte C99 no VS2013?

Vejo que o VS2013 adicionou suporte a um grande número de principais resources de linguagem principal do C99. Agora ele suporta literais compostos, inicializadores designados, macros variadic, declarações intercaladas e instruções apenas para citar alguns. Isso indica que os desenvolvedores de VS fizeram passos sérios em direção ao suporte a C99 no Visual Studio. No […]

GCC com -std = c99 reclama por não conhecer o horário das estruturas

Quando eu tento compilar isso no Linux com o gcc -std=c99 , o compilador reclama por não conhecer o struct timespec . No entanto, se eu compilar isso sem -std=c99 tudo funciona bem. #include int main(void) { struct timespec asdf; return 0; } Por que isso e existe uma maneira de ainda fazê-lo funcionar com […]

Como implementar memmove no padrão C sem uma cópia intermediária?

Na página man do meu sistema: void * memmove (void * dst, const void * src, size_t len); DESCRIÇÃO A function memmove () copia len bytes da string src para a string dst. As duas cadeias podem se sobrepor ; a cópia é sempre feita de forma não destrutiva maneira. Do padrão C99: 6.5.8.5 Quando […]

tutoriais de máquinas de estado

Eu só estou querendo saber se alguém sabe de alguns bons tutoriais na Internet para o desenvolvimento de máquinas de estado. Ou ebooks? Estou começando a trabalhar em máquinas de estado e só preciso de algo genérico para começar.

O pré-processador C tira comentários ou expande as macros primeiro?

Considere isso (horrível, terrível, não é bom, muito ruim) estrutura de código: #define foo(x) // commented out debugging code // Misformatted to not obscure the point if (a) foo(a); bar(a); Eu vi dois pré-processadores de compiladores geram resultados diferentes neste código: if (a) bar(a); e if (a) ; bar(a); Obviamente, isso é ruim para uma […]

Função inline C99 no arquivo .c

Eu defini minha function em .c (sem declaração de header) como aqui: inline int func(int i) { return i+1; } Então, no mesmo arquivo abaixo, eu uso: … i = func(i); E durante a binding eu tenho “referência indefinida para ‘func’”. Por quê?

O padrão C considera que há um ou dois tipos ‘struct uperms_entry’ neste header?

Você pode dar capítulo e verso de um dos três padrões C (preferencialmente C99 ou C11) que indica se o seguinte arquivo de header tem um ou dois tipos de struct uperms_entry nele? #ifndef UPERMS_CACHE_INCLUDE #define UPERMS_CACHE_INCLUDE typedef struct mutex MT_MUTEX; typedef struct uperms_cache { MT_MUTEX *cache_lock; int processing; struct uperms_entry *uperms_list; // No prior […]