Perguntas com a marcação «c»

C é uma linguagem de programação de uso geral usada para programação do sistema (SO e incorporado), bibliotecas, jogos e plataformas cruzadas. Essa tag deve ser usada com perguntas gerais sobre o idioma C, conforme definido na norma ISO 9899 (a versão mais recente, 9899: 2018, exceto quando especificado em contrário - também tag as solicitações específicas da versão com c89, c99, c11, etc.). C é diferente de C ++ e não deve ser combinado com a tag C ++, sem um motivo racional.

7
Redefinir a matriz C int para zero: a maneira mais rápida?
Supondo que temos a T myarray[100]com T = int, unsigned int, long long int ou unsigned long long int, qual é a maneira mais rápida de redefinir todo o seu conteúdo para zero (não apenas para inicialização, mas para redefinir o conteúdo várias vezes em meu programa) ? Talvez com …
102 c++  c  arrays  memset 


2
GCC -g vs -g3 Sinalizador GDB: Qual é a diferença?
Ao compilar o código-fonte C com gcc ou Clang, sempre uso o -g sinalizador para gerar informações de depuração para gdb. gcc -g -o helloworld helloworld.c Percebi que algumas pessoas recomendam em -g3vez disso. Qual é a diferença entre os sinalizadores -ge -g3? Também há uma diferença entre -ge -ggdb?
102 c  debugging  gcc  gdb  clang 

4
Usando a biblioteca C ++ em código C
Eu tenho uma biblioteca C ++ que oferece várias classes para gerenciamento de dados. Eu tenho o código-fonte da biblioteca. Quero estender a API C ++ para oferecer suporte a chamadas de função C para que a biblioteca possa ser usada com código C e código C ++ ao mesmo …
102 c++  c  gcc  glibc 


7
Como uma soma de verificação CRC32 é calculada?
Talvez eu simplesmente não esteja vendo, mas CRC32 parece desnecessariamente complicado ou insuficientemente explicado em qualquer lugar que pude encontrar na web. Eu entendo que é o resto de uma divisão aritmética não baseada em carry do valor da mensagem, dividido pelo polinômio (gerador), mas a implementação real dele me …
102 c  checksum  crc32 



4
especificadores de formato printf para uint32_t e size_t
Eu tenho o seguinte size_t i = 0; uint32_t k = 0; printf("i [ %lu ] k [ %u ]\n", i, k); Recebo o seguinte aviso ao compilar: format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’ Quando fiz isso usando uma tala, obtive o seguinte: Format …
101 c  printf 

1
O que significa [N… M] em inicializadores de agregado C?
Da linha 123 sys.c : void *sys_call_table[__NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #include <asm/unistd.h> }; sys_call_tableé um ponteiro genérico para matrizes, posso ver isso. No entanto, qual é a notação: [0 ... __NR_syscalls-1] O que é ...? EDIT: eu aprendi outro truque C aqui: #include <asm/unistd.h>será pré - …
101 c  linux  kernel 

14
Qual é a melhor maneira de fazer um loop reverso em C / C # / C ++?
Preciso retroceder em uma matriz, então tenho um código como este: for (int i = myArray.Length - 1; i >= 0; i--) { // Do something myArray[i] = 42; } Existe um jeito melhor de fazer isso? Atualização: eu esperava que talvez C # tivesse algum mecanismo integrado para isso, …
101 c#  c++  c 

13
Experimente as declarações catch em C
Eu estava pensando hoje sobre os blocos try / catch existentes em outras línguas. Pesquisei por um tempo isso, mas sem resultado. Pelo que eu sei, não existe try / catch em C. Porém, existe uma maneira de "simular" eles? Claro, há assert e outros truques, mas nada como try …
101 c 

7
Criação de strings formatadas em C (não imprimi-las)
Tenho uma função que aceita uma string, que é: void log_out(char *); Ao chamá-lo, preciso criar uma string formatada em tempo real, como: int i = 1; log_out("some text %d", i); Como faço isso em ANSI C? Apenas, uma vez que sprintf()retorna um int, isso significa que tenho que escrever …
101 c  string 


11
Macro vs Função em C
Sempre vi exemplos e casos em que usar macro é melhor do que usar função. Alguém poderia me explicar com um exemplo a desvantagem de uma macro em relação a uma função?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.