Preguntas etiquetadas con c

C es un lenguaje de programación de uso general utilizado para la programación del sistema (SO e incrustado), bibliotecas, juegos y multiplataforma. Esta etiqueta debe usarse con preguntas generales sobre el lenguaje C, como se define en el estándar ISO 9899 (la última versión, 9899: 2018, a menos que se especifique lo contrario; también etiquete las solicitudes específicas de la versión con c89, c99, c11, etc.). C es distinto de C ++ y no debe combinarse con la etiqueta C ++ en ausencia de una razón racional.

1
¿Cuál es el propósito de la palabra clave estática en el parámetro de matriz de la función como "char s [static 10]"?
Mientras navegaba por el código fuente, me encontré con una función como esta: void someFunction(char someArray[static 100]) { // do something cool here } Con algo de experimentación, parece que otros calificadores también pueden aparecer allí: void someFunction(char someArray[const]) { // do something cool here } Parece que los calificadores …
144 c  arrays  parameters  static 

6
¿Cuál es la ventaja de __builtin_expect de GCC en las declaraciones if else?
Me encontré con una #defineen la que usan __builtin_expect. La documentación dice: Función incorporada: long __builtin_expect (long exp, long c) Puede usar __builtin_expectpara proporcionar al compilador información de predicción de rama. En general, debe preferir usar comentarios de perfil reales para esto ( -fprofile-arcs), ya que los programadores son notoriamente …
144 c  linux  gcc  built-in 


9
¿Cuál es la diferencia entre sigaction y signal?
Estaba a punto de agregar un controlador de señal adicional a una aplicación que tenemos aquí y noté que el autor había utilizado sigaction()para configurar los otros controladores de señal. Iba a usar signal(). Para seguir la convención que debo usar, sigaction()pero si escribo desde cero, ¿cuál debo elegir?
143 c  signals  posix 

2
Importancia de la marca -pthread al compilar
En varios proyectos de subprocesos múltiples de C y C ++, he visto el -pthreadindicador aplicado tanto a la etapa de compilación como a la de enlace, mientras que otros no lo usan en absoluto y simplemente pasan -lpthreada la etapa de enlace. ¿Existe algún peligro de no compilar y …
143 c++  c  linux  pthreads 

4
¿Cuál es la relación entre BLAS, LAPACK y ATLAS?
¡No entiendo cómo BLAS, LAPACK y ATLAS están relacionados y cómo debería usarlos juntos! He estado revisando todos sus manuales y tengo una idea general de BLAS y LAPACK y cómo usarlos con los muy pocos ejemplos que encuentro, pero no puedo encontrar ningún ejemplo real usando ATLAS para ver …
143 c  lapack  blas  atlas 

16
Aclaración de puntero a puntero
Estaba siguiendo este tutorial sobre cómo funciona un puntero a un puntero . Permítanme citar el pasaje relevante: int i = 5, j = 6, k = 7; int *ip1 = &i, *ip2 = &j; Ahora podemos establecer int **ipp = &ip1; y ipppuntos a los ip1que apunta i. *ippes …
142 c  pointers 

6
_DEBUG vs NDEBUG
¿Qué definición de preprocesador se debe usar para especificar secciones de código de depuración? Use #ifdef _DEBUGo #ifndef NDEBUGo ¿hay una mejor manera de hacerlo, por ejemplo #define MY_DEBUG? Creo que _DEBUGes específico de Visual Studio, ¿es NDEBUG estándar?
142 c++  c  debugging 


30
Características ocultas de C
Bloqueado . Esta pregunta y sus respuestas están bloqueadas porque la pregunta está fuera de tema pero tiene un significado histórico. Actualmente no acepta nuevas respuestas o interacciones. Sé que hay un estándar detrás de todas las implementaciones del compilador de C, por lo que no debería haber características ocultas. …
141 c  hidden-features 

21
Convierta object-c typedef a su cadena equivalente
Suponiendo que tengo un typedef declarado en mi archivo .h como tal: typedef enum { JSON, XML, Atom, RSS } FormatType; Me gustaría construir una función que convierta el valor numérico de typedef en una cadena. Por ejemplo, si el mensaje [self toString:JSON]fue enviado; devolvería 'JSON'. La función se vería …
141 c  objective-c  enums  typedef 





Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.