Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Opencobol Manual PDF
Opencobol Manual PDF
===========================================================
Impresionante.
===========================================================
OpenCOBOL es un código abierto de COBOL, que traduce los programas COBOL con el código C
y lo compila con el compilador C nativo.
UserManual / 1
Introducción
Hello World!
UserManual/2_1
Compilar
Opciones del compilador
Construir Target
Formato Fuente
Opciones de advertencia
UserManual/2_2
Múltiples fuentes
Vinculación estática
Enlazado dinámico
Edificio de la Biblioteca
Usando Biblioteca
UserManual/2_3
C Interface
Programa Principal C
Estático C a COBOL
Dinámica C a COBOL
COBOL estático para C
Dinámica COBOL a C
UserManual / 3
Personalizar
Personalizar Compilador
Personalización de Biblioteca
UserManual / 4
Optimizar
Opciones Optimizar
Optimizar Llame
Optimizar Binary
UserManual / 5
Depurar
Opciones de depuración
UserManual / copia
Manual OpenCOBOL
Introducción †
Hello World! †
$ COBC-x hello.cob
$. / Hola
Hello World!
El nombre del archivo ejecutable (es decir, hola en este caso) se determina mediante la
eliminación de la extensión del nombre de archivo fuente.
Construir Target †
-E
-C
-S
Recopilar solamente. Archivos traducidos C son compilados por cc. La salida se guarda
en el archivo *. S.
-C
-M
Compilar, ensamblar y construir un módulo dinámico de enlaces (es decir, una biblioteca
compartida). La salida se guarda en el archivo *. Así. (Por defecto)
-X
Formato Fuente †
El formato por defecto es el formato fijo. Esto puede ser explícitamente sobrescritos por una de
las siguientes opciones:
Libres
Formato libre.
-Fijado
Formato fijo.
↑
Opciones advertencia †
-Wall
-Wcolumn-overflow
-Wend a evaluar
-Wend-si
-Wparentheses
Un programa consiste a menudo en varios archivos de código fuente. En esta sección se describe
cómo compilar varios archivos de origen.
En esta sección también se describe cómo crear una biblioteca compartida que puede ser
utilizado por todos los programas COBOL y cómo usar librerías externas de los programas
COBOL.
Vinculación estática †
Recopilar todos los archivos con la opción-c, y vincularlos al final. El programa de nivel superior
se debe compilar con la opción-fmain:
$ COBC-c subr1.cob
$ COBC-c subr2.cob
$ COBC-c-fmain main.cob
$ COBC-o prog main.o subr1.o subr2.o
$ Cc-c subrs.c
$ COBC-c-fmain main.cob
$ COBC-o prog main.o subrs.o
Con el compilador opciones Finicial de guardia, un código más eficiente será generado de esta
manera:
subr (X);
Tenga en cuenta que esta opción sólo es eficaz cuando la llamada nombre del programa es un
literal (como CALL "subr."). Con un nombre de datos (como SUBR CALL.), El programa todavía
se llama dinámica.
La vinculación dinámica †
$ COBC-x main.cob
$ COBC-m subr.cob
Esto crea un archivo de módulo subr.so (La extensión varía en función de su anfitrión.).
Library Building †
Usted puede construir una biblioteca compartida mediante la combinación de varios programas
COBOL y hasta rutinas de C:
$ COBC-c subr1.cob
$ COBC-c subr2.cob
$ Cc-c subr3.c
$ Cc-shared-o libsubrs.so subr1.o subr2.o subr3.o
↑
Usando Biblioteca †
Múltiples fuentes †
Un programa consiste a menudo en varios archivos de código fuente. En esta sección se describe
cómo compilar varios archivos de origen.
En esta sección también se describe cómo crear una biblioteca compartida que puede ser
utilizado por todos los programas COBOL y cómo usar librerías externas de los programas
COBOL.
Vinculación estática †
Recopilar todos los archivos con la opción-c, y vincularlos al final. El programa de nivel superior
se debe compilar con la opción-fmain:
$ COBC-c subr1.cob
$ COBC-c subr2.cob
$ COBC-c-fmain main.cob
$ COBC-o prog main.o subr1.o subr2.o
$ Cc-c subrs.c
$ COBC-c-fmain main.cob
$ COBC-o prog main.o subrs.o
Con el compilador opciones Finicial de guardia, un código más eficiente será generado de esta
manera:
subr (X);
Tenga en cuenta que esta opción sólo es eficaz cuando la llamada nombre del programa es un
literal (como CALL "subr."). Con un nombre de datos (como SUBR CALL.), El programa todavía
se llama dinámica.
La vinculación dinámica †
$ COBC-x main.cob
$ COBC-m subr.cob
Esto crea un archivo de módulo subr.so (La extensión varía en función de su anfitrión.).
Library Building †
Usted puede construir una biblioteca compartida mediante la combinación de varios programas
COBOL y hasta rutinas de C:
$ COBC-c subr1.cob
$ COBC-c subr2.cob
$ Cc-c subr3.c
$ Cc-shared-o libsubrs.so subr1.o subr2.o subr3.o
↑
Usando Biblioteca †
En este capítulo se describe cómo combinar los programas en C con programas COBOL.
Programa Principal C †
Incluya libcob.h en su programa de C. Llame cob_init antes de usar cualquier módulo COBOL:
# Include <libcob.h>
int
main (int argc, char ** argv)
{
/ * Inicializar el programa * /
...
Puedes escribir cobc_init (0, NULL), y si usted no desea pasar argumentos de línea de comandos
para COBOL.
Estático C a COBOL †
Desde el punto de vista de C, esto es equivalente a una función que tiene la siguiente prototipo:
int
main ()
{
int ret;
carbón hola [6] = "Hola";
Char mundo [6] = "Mundo";
volver ret;
}
----------------------------------------
cob_resolve devuelve NULL si no hay ningún módulo. En este caso, la cob_resolve_error función
devuelve el mensaje de error.
Vamos a ver un ejemplo:
int
main ()
{
int ret;
carbón hola [6] = "Hola";
Char mundo [6] = "Mundo";
volver ret;
}
----------------------------------------
Tenga en cuenta que, a diferencia de C, los argumentos que se pasan de los programas COBOL
no se terminan con el carácter nulo (es decir, \ 0).
Si quieres llamarlo en ambientes WIN nativos (no hace daño si lo hace en todos los casos) el
código debe ser cambiado a
Usted puede llamar a esta función de la misma manera que llame programas COBOL:
$ Cc-c say.c
$ COBC-c-static-fmain hello.cob => desde OC 1.0: (. Fmain archivo está
obsoleto cf NEWS) no se debe hacer
$ COBC-x-o hola hello.o say.o => desde OC 1.0: $ COBC-x-o hola hello.cob
say.o
$. / Hola
Hello World!
↑
Dinámica COBOL a C †
Usted puede crear un módulo dinámico de enlaces desde un programa C pasando una opción
común para el compilador de C:
Personalizar Compilador †
COB_CC
Compilador de C ("gcc")
COB_CFLAGS
COB_LDFLAGS
COB_LIBS
COB_LDADD
Personalizar Biblioteca †
COB_LIBRARY_PATH
Optimizar †
↑
Optimizar Opciones †
Hay dos opciones de compilador de optimización:-O y O2. Estas opciones permiten a los niveles
de compilación (C hasta el montaje).
Optimizar Llame †
Cuando se ejecuta una instrucción CALL, el programa llamado se vincula en tiempo de ejecución. Al
especificar la opción de compilador-Finicial-llamada, puede enlazar estáticamente el programa en
tiempo de compilación y llame de manera eficiente. (Consulte Vinculación estática)
Optimizar Binary †
Además, el establecimiento de la opción binaria de tamaño a 2-4-8 o 1-2-4-8 es más eficaz que
otros.
Depurar †
Depurar Opciones †
La opción de compilador-g incluye directivas de línea en la salida. Esto ayuda a depurar sus
programas COBOL utilizando "gdb".