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.

7
Arquitecturas exóticas que preocupan a los comités de normas
Sé que los estándares C y C ++ dejan muchos aspectos del lenguaje definidos por la implementación solo porque si hay una arquitectura con otras características, sería muy difícil o imposible escribir un compilador conforme estándar. Sé que hace 40 años cualquier computadora tenía su propia especificación única. Sin embargo, …
154 c++  c  architecture 

5
Fuga aún accesible detectada por Valgrind
Todas las funciones mencionadas en este bloque son funciones de biblioteca. ¿Cómo puedo rectificar esta pérdida de memoria? Se incluye en la categoría " Aún accesible ". (Hay 4 más, que son muy similares, pero de diferentes tamaños) 630 bytes in 1 blocks are still reachable in loss record 5 …
154 c  pthreads  valgrind 


6
NSLog el nombre del método con Objective-C en iPhone
Actualmente, nos estamos definiendo un mecanismo de registro extendido para imprimir el nombre de la clase y el número de línea de origen del registro. #define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \ __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__]) Por ejemplo, cuando llamo a NCLog (@ "Hola mundo"); El resultado será: …

11
~ x + ~ y == ~ (x + y) siempre es falso?
¿Este código siempre se evalúa como falso? Ambas variables son complementos firmados por dos. ~x + ~y == ~(x + y) Siento que debería haber algún número que satisfaga las condiciones. Traté de probar los números entre -5000y 5000nunca logré la igualdad. ¿Hay alguna manera de establecer una ecuación para …

9
En C, ¿los frenos actúan como un marco de pila?
Si creo una variable dentro de un nuevo conjunto de llaves, ¿esa variable aparece en la pila en la llave de cierre o se cuelga hasta el final de la función? Por ejemplo: void foo() { int c[100]; { int d[200]; } //code that takes a while return; } ¿Va …
153 c  memory  stack 

9
¿Qué es una "devolución de llamada" en C y cómo se implementan?
De la lectura que he hecho, Core Audio depende en gran medida de las devoluciones de llamada (y C ++, pero esa es otra historia). Entiendo el concepto (más o menos) de configurar una función que otra función llama repetidamente para realizar una tarea. Simplemente no entiendo cómo se configuran …
153 c  callback 

14
Comprobación de puntero NULL en C / C ++ [cerrado]
Cerrada . Esta pregunta está basada en la opinión . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que pueda ser respondida con hechos y citas editando esta publicación . Cerrado hace 5 años . Mejora esta pregunta En una revisión de código reciente, un …

13
¿Qué herramientas hay para la programación funcional en C?
Últimamente he estado pensando mucho sobre cómo hacer programación funcional en C ( no en C ++). Obviamente, C es un lenguaje de procedimiento y realmente no admite la programación funcional de forma nativa. ¿Hay alguna extensión de compilador / lenguaje que agregue algunas construcciones de programación funcional al lenguaje? …

13
¿Puede num ++ ser atómico para 'int num'?
En general, for int num, num++(or ++num), como una operación de lectura-modificación-escritura, no es atómica . Pero a menudo veo que los compiladores, por ejemplo GCC , generan el siguiente código ( intente aquí ): Dado que la línea 5, que corresponde a num++una instrucción, ¿podemos concluir que num++ es …

2
¿Cómo concatenar dos veces con el preprocesador C y expandir una macro como en "arg ## _ ## MACRO"?
Estoy tratando de escribir un programa donde los nombres de algunas funciones dependen del valor de una determinada variable macro con una macro como esta: #define VARIABLE 3 #define NAME(fun) fun ## _ ## VARIABLE int NAME(some_function)(int a); Desafortunadamente, la macro NAME()convierte eso en int some_function_VARIABLE(int a); más bien que …

4
¿Qué implica "#define _GNU_SOURCE"?
Hoy tuve que usar la basename()función, y el man 3 basename( aquí ) me dio un mensaje extraño: Notas Hay dos versiones diferentes de basename () : la versión POSIX descrita anteriormente y la versión GNU , que se obtiene después #define _GNU_SOURCE #include <string.h> Me pregunto qué #define _GNU_SOURCEsignifica …
152 c  posix  gnu 

22
Error al manejar en código C
¿Qué considera "mejor práctica" cuando se trata de errores de manejo de errores de manera consistente en una biblioteca de C. Hay dos formas en las que he estado pensando: Siempre devuelve el código de error. Una función típica se vería así: MYAPI_ERROR getObjectSize(MYAPIHandle h, int* returnedSize); El siempre proporciona …
152 c  error-handling 


8
Devolver una matriz usando C
Soy relativamente nuevo en C y necesito ayuda con los métodos que tratan con matrices. Viniendo de la programación Java, estoy acostumbrado a poder decir int [] method()para devolver una matriz. Sin embargo, descubrí que con C tienes que usar punteros para las matrices cuando las devuelves. Siendo un nuevo …
152 c  arrays  pointers  char 

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.