Preguntas etiquetadas con c-preprocessor

Un macroprocesador de texto aplicado antes de compilar programas de lenguaje C y C ++. Esta etiqueta también se puede utilizar para preguntas sobre otros compiladores / lenguajes derivados de o que tienen características idénticas, como las #directivas en Objective-C o C #.

8
Macro de sobrecarga en número de argumentos
Tengo dos macros FOO2y FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Quiero definir una nueva macro de la FOOsiguiente manera: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Pero esto no funciona porque las macros no se sobrecargan en la cantidad de argumentos. Sin modificar FOO2y FOO3, ¿hay alguna forma de definir …
184 c  macros  c-preprocessor 

30
¿Cuándo son beneficiosas las macros de C ++? [cerrado]
Cerrada . Esta pregunta necesita estar más centrada . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que se centre en un problema solo editando esta publicación . Cerrado hace 2 años . Mejora esta pregunta El preprocesador C es temido y rechazado por la …



6
Uso de __FILE__, __LINE__ y __FUNCTION__ en C ++
Suponiendo que su compilador de C ++ los admite, ¿hay alguna razón particular para no usarlos?__FILE__ , __LINE__y __FUNCTION__para fines de registro y depuración? Me preocupa principalmente dar al usuario datos engañosos, por ejemplo, informar el número de línea incorrecto o la función como resultado de la optimización, o tomar …

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 …

10
¿Alternativa estándar al truco ## __ VA_ARGS__ de GCC?
Hay un problema bien conocido con argumentos vacíos para macros variables en C99. ejemplo: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); El uso de lo BAR()anterior es de hecho incorrecto según el estándar C99, ya que se expandirá a: printf("this breaks!",); Tenga en cuenta …


17
"#Include" un archivo de texto en un programa C como char []
¿Hay alguna manera de incluir un archivo de texto completo como una cadena en un programa C en tiempo de compilación? algo como: file.txt: This is a little text file C Principal: #include <stdio.h> int main(void) { #blackmagicinclude("file.txt", content) /* equiv: char[] content = "This is\na little\ntext file"; */ printf("%s", …

15
¿Debo usar #define, enum o const?
En un proyecto de C ++ en el que estoy trabajando, tengo un tipo de valor de indicador que puede tener cuatro valores. Esas cuatro banderas se pueden combinar. Las banderas describen los registros en la base de datos y pueden ser: nuevo record registro eliminado registro modificado registro existente …






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.