Pregunta

¿Puedo incluir una sección de código en función de si una variable se define en mi programa, o es el preprocesador completamente incapaz de acceder a esta información, sólo las condiciones de compilación? Es decir. Estoy después de algo como:

/IF DEFINED(myVariable)
D myOtherVariable       S                  like(myVariable)
/ELSE
D myOtherVariable       S             20A
/ENDIF

parece sugerir que es imposible. Si es así, ¿alguien sabe de otra manera de lograr esto?

¿Fue útil?

Solución

Sería una buena característica a tener, pero por desgracia, no funciona de esa manera hoy en día. El valor entre paréntesis después definida debe ser definido nombre de la condición , no un nombre de variable. La manera de hacer que funcione es tener un / DEFINE Directiva siempre que defina esa variable específica en cualquiera de los programas o cuadernos. Todo depende del uso de estas situaciones en cuanto a si es o no es una práctica recomendada.

El enlace proporcionado en su pregunta está en el lugar y estoy de acuerdo con las conclusiones.

Otros consejos

Como una sugerencia adicional, use libros de programación C para este tema, no los libros de IBM RPGLE. Los libros de IBM describen lo que se puede hacer con las directivas. Los libros C describen la forma en que se utiliza en los programas del mundo real (por ejemplo, programas de código abierto Linux). Después de que el estilo hace que sus fuentes de rol mucho más legible para otros programadores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top