Pregunta

La salida que obtenemos al imprimir fuentes de C ++ desde Eclipse es bastante fea.

¿Hay alguna forma / un complemento para imprimir bastante el código fuente de C ++ como p. ej. con a2ps (que probablemente esté usando otro filtro para el código fuente de C)?

¿Fue útil?

Solución

También uso enscript para esto. Aquí hay un alias que uso a menudo:

alias cpp2ps='enscript --color --pretty-print=cpp --language=PostScript'

y lo uso así:

cpp2ps -P main.ps main.cpp

Hay varias otras excelentes opciones en enscript que incluyen rotación, salida de 2 columnas, números de línea, encabezados / pies de página, etc. Consulte página del manual de enscript .

Además, en Mac, XCode imprime muy bien el código C ++.

Otros consejos

Vea este DDJ artículo que utiliza enscript como el bonito motor de impresión.

Me gustaría ampliar la respuesta de Windows 7 porque se omiten algunos pasos clave:

Esto es para usuarios de MinGW con Eclipse CDT

0) Si no tiene Python GDB, abra un shell / comando y use MinGW-get.exe para 'instalar'    GDB habilitado para Python, por ejemplo

   MinGw-get.exe install gdb-python

1a) Obtenga Python 2.7.x de http://python.org/download/ e instale

1b) Asegúrese de que PYTHONPATH y PYTHONHOME estén configurados en su entorno:

 PYTHONPATH should be C:\Python27\Lib   (or similar)
 PYTHONHOME should be C:\Python27

1c) Agregue PYTHONHOME a su RUTA

 %PYTHONHOME%;...

2a) Abra un texto, ingrese las siguientes declaraciones. Note que la tercera línea es     señalando dónde se encuentran los scripts de Python. ¡Vea las notas a continuación sobre esto!

python
import sys
sys.path.insert(0, 'C:/MinGW/share/gcc-4.6.1/python')         
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

2b) Guardar como '.gdbinit' NOTA: el explorador de Windows no le permitirá nombrar un archivo que comience con     Con un período de explorador. La mayoría de las ediciones de texto (incluido el Bloc de notas) le permitirán. GDB init     los archivos son como 'scripts' de comandos GDB que GBD ejecutará al cargar.

2c) El archivo '.gdbinit' debe estar en el directorio de trabajo de GDB (lo más probable es que esto sea     el directorio raíz de tus proyectos pero tu IDE puede decírtelo.

3) Abra su diálogo de preferencias de Eclipse (u otro IDE). Vaya al submenú del depurador de C ++.

4) Configure Eclipse para usar C: \ MinGW \ bin \ gdb-python27.exe como el depurador y su .gdbinit como el archivo de configuración.

5a) Vuelva a crear todas sus configuraciones de inicio de depuración (elimine la anterior y cree una nueva desde cero).

--OR--

5b) Edite cada configuración de depuración y apunte al nuevo gdb-python.exe Y apunte al.

Si tiene problemas:

--¡No olvides cambiar la ubicación al directorio de python en el código de python anterior!    MinGW crea este directorio, así que no busques descargar las bonitas impresoras, MinGW    Lo hice por ti en el paso cero. Simplemente vaya a su director de instalación de MinGW, la carpeta compartida,    la carpeta GCC (tiene número de versión) y encontrará la carpeta python. Esta ubicación es lo que    debe estar en el script de Python cargado por GDB.

- Además, el .gdbinit es un PITA, asegúrese de que esté nombrado correctamente y en la carpeta de trabajo de GDB    que no es necesariamente donde se encuentra gdb-python.exe! Mire su salida de GDB al cargar GDB para ver si aparece a) 'python-enabled' durante la carga y si aparecen las declaraciones en .gdbinit.

- Finalmente, tuve muchos problemas con las variables del sistema. Si python le da 'ImportError', lo más probable es que no haya configurado PYTHONPATH o PYTHONHOME.

- El directorio con 'gdb-python27' (por ejemplo, C: \ MinGW \ bin ') también debería estar en su ruta y, si lo está, hace que la configuración del eclipse sea un poco más agradable porque no necesita poner En caminos absolutos. Pero aún así, a veces .gbdinit necesita un camino absoluto. si funciona, verá resultados de gbd (trazas de consola > gdb) como este al iniciar el depurador:

835,059 4^done
835,059 (gdb) 
835,059 5-enable-pretty-printing
835,069 5^done
....
835,129 12^done
835,129 (gdb) 
835,129 13source C:\MinGW\bin\.gdbinit
835,139 &"source C:\\MinGW\\bin\\.gdbinit\n"
835,142 13^done
835,142 (gdb) 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top