Como compilar DRC en windows...
Como compilar DRC en windows...
... y hacer que parezca que compilamos en un linux. O mejor dicho, como compilar DRC con GCC, que es el compilador GNU por excelencia.
Bueno, ya se que este, dentro de los temas menores en los que me estoy especializando, es ridículamente menor. Pero supongo que aquí, en la sala menor es donde menos molestará. Digo molestará por lo que viene a continuación.
Lo mejor para compilar DRC en un windows es instalarse mingw:
http://www.mingw.org/
mingw ofrece un entorno de programación compatible con el software GNU pero dentro de Windows.
De toda la lista de paquetes a instalar:
http://www.mingw.org/download.shtml
yo tengo instalados Minimal System 1.0.10 (MSYS 1.0.10) y MSYS Developer Tool Kit 1.0.1.
http://prdownloads.sf.net/mingw/MSYS-1. ... e?download
http://prdownloads.sf.net/mingw/msysDTK ... e?download
MSYS crea un acceso directo a una consola de trabajo. Y si, efectivamente, en modo consola es como vamos a trabajar.
desde esta shell podemos escribir:
gcc -v
y nos dirá:
Reading specs from C:/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions
Thread model: win32
gcc version 3.2.3 (mingw special 20030504-1)
Ahí está nuestro compilador gnu preparado.
Tambien tenemos make:
make -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-msys
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Report bugs to <bug-make@gnu.org>.
¿donde están nuestros discos con nuestro preciado windows? Pues C: está en /c . O D: está en /d.
Si escribimos ls /c obtenemos un listado del contenido de C:. Ojo con los nombres de directorio o archivos con espacios dentro. Hay que encerrar entre comillas (") todo el path (la ruta al archivo desde el punto en el que estamos) para poder trabajar con el.
Otros comandos útiles: cd para cambiar de directorio, vi para editar (ejejejejee), less para leer un fichero.
Seguimos...
Bueno, ya se que este, dentro de los temas menores en los que me estoy especializando, es ridículamente menor. Pero supongo que aquí, en la sala menor es donde menos molestará. Digo molestará por lo que viene a continuación.
Lo mejor para compilar DRC en un windows es instalarse mingw:
http://www.mingw.org/
mingw ofrece un entorno de programación compatible con el software GNU pero dentro de Windows.
De toda la lista de paquetes a instalar:
http://www.mingw.org/download.shtml
yo tengo instalados Minimal System 1.0.10 (MSYS 1.0.10) y MSYS Developer Tool Kit 1.0.1.
http://prdownloads.sf.net/mingw/MSYS-1. ... e?download
http://prdownloads.sf.net/mingw/msysDTK ... e?download
MSYS crea un acceso directo a una consola de trabajo. Y si, efectivamente, en modo consola es como vamos a trabajar.
desde esta shell podemos escribir:
gcc -v
y nos dirá:
Reading specs from C:/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions
Thread model: win32
gcc version 3.2.3 (mingw special 20030504-1)
Ahí está nuestro compilador gnu preparado.
Tambien tenemos make:
make -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-msys
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Report bugs to <bug-make@gnu.org>.
¿donde están nuestros discos con nuestro preciado windows? Pues C: está en /c . O D: está en /d.
Si escribimos ls /c obtenemos un listado del contenido de C:. Ojo con los nombres de directorio o archivos con espacios dentro. Hay que encerrar entre comillas (") todo el path (la ruta al archivo desde el punto en el que estamos) para poder trabajar con el.
Otros comandos útiles: cd para cambiar de directorio, vi para editar (ejejejejee), less para leer un fichero.
Seguimos...
- Luismax
- Site Admin
- Mensajes: 7081
- Registrado: Lun 03 Nov 2003 , 18:44
- Ubicación: MatrixHell
- Contactar:
Re: Como compilar DRC en windows...
cd/ rm-r *.*wynton escribió: Otros comandos útiles: ...
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
“No es señal de buena salud estar bien adaptado a una sociedad profundamente enferma”
He reinstalado todo de nuevo para preparar la guia de instalación, porque con los dos paquetes anteriormente citados no basta y porque hay que seguir un orden y una serie de normas para instalar el sistema MinGW con el compilador gcc/g++ incluido.
El primer programa a descargarse es:
http://prdownloads.sf.net/mingw/MinGW-5 ... e?download
Este programa es un instalador de otros paquetes de forma automática.
Veamos el progreso del proceso de instalación:
1- Pantalla de bienvenida. => Next
![Imagen](http://img255.imageshack.us/img255/8951/mingw16jr.png)
2- Elegimos un mirror desde el cual descargarnos los paquetes requeridos.
Yo he optado por uno localizado en Suiza. => Next
![Imagen](http://img340.imageshack.us/img340/9593/mingw23oh.png)
3- Elegimos la versión de los paquetes a instalar. Yo he optado por "Current". => Next
![Imagen](http://img186.imageshack.us/img186/3533/mingw34yx.png)
4- Marcamos los paquetes deseados: yo he marcado MinGW base tools, g++ compiler, g77 compiler y MinGW make. => Next
![Imagen](http://img287.imageshack.us/img287/826/mingw47ap.png)
5- Elegimos la carpeta de destino. Conviene dejar la opción por defecto. En C:/MinGW es donde podremos encontrar la instalación de MinGW (binarios, librerias, archivos de configuración) => Next
![Imagen](http://img326.imageshack.us/img326/6403/mingw53qj.png)
6- Dejamos que nos prepare un acceso en el Start Menu. => Next.
![Imagen](http://img340.imageshack.us/img340/3716/mingw67eg.png)
7- Le dejamos descargándose el software e instalándolo.
![Imagen](http://img247.imageshack.us/img247/401/mingw74mh.png)
8- Nos informa del proceso de desempaquetado e instalación. => Next
![Imagen](http://img326.imageshack.us/img326/9435/mingw82iv.png)
9- That's All Folks!!!
![Imagen](http://img446.imageshack.us/img446/3695/mingw99nt.png)
Y a partir de aquí hay que pasar a instalar MSYS. Lo vemos a continuación.
El primer programa a descargarse es:
http://prdownloads.sf.net/mingw/MinGW-5 ... e?download
Este programa es un instalador de otros paquetes de forma automática.
Veamos el progreso del proceso de instalación:
1- Pantalla de bienvenida. => Next
![Imagen](http://img255.imageshack.us/img255/8951/mingw16jr.png)
2- Elegimos un mirror desde el cual descargarnos los paquetes requeridos.
Yo he optado por uno localizado en Suiza. => Next
![Imagen](http://img340.imageshack.us/img340/9593/mingw23oh.png)
3- Elegimos la versión de los paquetes a instalar. Yo he optado por "Current". => Next
![Imagen](http://img186.imageshack.us/img186/3533/mingw34yx.png)
4- Marcamos los paquetes deseados: yo he marcado MinGW base tools, g++ compiler, g77 compiler y MinGW make. => Next
![Imagen](http://img287.imageshack.us/img287/826/mingw47ap.png)
5- Elegimos la carpeta de destino. Conviene dejar la opción por defecto. En C:/MinGW es donde podremos encontrar la instalación de MinGW (binarios, librerias, archivos de configuración) => Next
![Imagen](http://img326.imageshack.us/img326/6403/mingw53qj.png)
6- Dejamos que nos prepare un acceso en el Start Menu. => Next.
![Imagen](http://img340.imageshack.us/img340/3716/mingw67eg.png)
7- Le dejamos descargándose el software e instalándolo.
![Imagen](http://img247.imageshack.us/img247/401/mingw74mh.png)
8- Nos informa del proceso de desempaquetado e instalación. => Next
![Imagen](http://img326.imageshack.us/img326/9435/mingw82iv.png)
9- That's All Folks!!!
![Imagen](http://img446.imageshack.us/img446/3695/mingw99nt.png)
Y a partir de aquí hay que pasar a instalar MSYS. Lo vemos a continuación.
Última edición por wynton el Mié 31 May 2006 , 11:47, editado 1 vez en total.
Instalación de MSYS:
http://prdownloads.sf.net/mingw/MSYS-1. ... e?download
1- Nos pregunta si queremos seguir. => Yes.
![Imagen](http://img334.imageshack.us/img334/414/msys16op.png)
2- Que si seguimos.... que si.... => Yes.
![Imagen](http://img273.imageshack.us/img273/7548/msys28um.png)
3- ¿Aceptamos la licencia? => Yes.
![Imagen](http://img304.imageshack.us/img304/4763/msys37tu.png)
4- Mas avisos => Next.
![Imagen](http://img273.imageshack.us/img273/6818/msys46ik.png)
5- Nos pide que elijamos donde instalarlo. Os recomiendo la elección por defecto. => Next
![Imagen](http://img273.imageshack.us/img273/184/msys51jk.png)
6- Menu de selección de componentes. Solo hay una opción. => Next
![Imagen](http://img313.imageshack.us/img313/3928/msys68hb.png)
7- Pantalla de elección de icono en el Start Menu. => Next
![Imagen](http://img180.imageshack.us/img180/4375/msys71ob.png)
8- Nos informa de nuestra elección antes de instalar. => Install
![Imagen](http://img180.imageshack.us/img180/9128/msys82ae.png)
9- Nos muestra la evolución del proceso de instalación. Tras ello pasa a la preparación de las variables de entorno necesarias.
![Imagen](http://img301.imageshack.us/img301/4131/msys99xq.png)
10- Nos pregunta en una nueva pantalla si queremos proseguir con el proceso de post-instalación. => y
![Imagen](http://img301.imageshack.us/img301/9437/msys101pp.png)
11- Nos pregunta si tenemos instalado MinGW. Como es cierto si hemos seguido la etapa del posta anterior. => y
![Imagen](http://img405.imageshack.us/img405/2141/msys114cf.png)
12- Nos pregunta que le digamos al instalador donde está instalado MinGW. Si lo hemos instalado en el directorio por defecto. => C:/MinGW
![Imagen](http://img264.imageshack.us/img264/4329/msys125ld.png)
13- Nos informa de como ha ido el proceso de detección de programas instalados en MinGW. => Pulsar un tecla.
![Imagen](http://img264.imageshack.us/img264/3198/msys131qi.png)
14- Proceso terminado. => Finish
![Imagen](http://img264.imageshack.us/img264/3953/msys142lb.png)
A partir de aquí si abrimos el icono MSYS del escritorio aparece una consola como esta:
![Imagen](http://img197.imageshack.us/img197/8803/msys151gl.png)
Queda la instalación de msysDTK. Lo vemos a continuación.
http://prdownloads.sf.net/mingw/MSYS-1. ... e?download
1- Nos pregunta si queremos seguir. => Yes.
![Imagen](http://img334.imageshack.us/img334/414/msys16op.png)
2- Que si seguimos.... que si.... => Yes.
![Imagen](http://img273.imageshack.us/img273/7548/msys28um.png)
3- ¿Aceptamos la licencia? => Yes.
![Imagen](http://img304.imageshack.us/img304/4763/msys37tu.png)
4- Mas avisos => Next.
![Imagen](http://img273.imageshack.us/img273/6818/msys46ik.png)
5- Nos pide que elijamos donde instalarlo. Os recomiendo la elección por defecto. => Next
![Imagen](http://img273.imageshack.us/img273/184/msys51jk.png)
6- Menu de selección de componentes. Solo hay una opción. => Next
![Imagen](http://img313.imageshack.us/img313/3928/msys68hb.png)
7- Pantalla de elección de icono en el Start Menu. => Next
![Imagen](http://img180.imageshack.us/img180/4375/msys71ob.png)
8- Nos informa de nuestra elección antes de instalar. => Install
![Imagen](http://img180.imageshack.us/img180/9128/msys82ae.png)
9- Nos muestra la evolución del proceso de instalación. Tras ello pasa a la preparación de las variables de entorno necesarias.
![Imagen](http://img301.imageshack.us/img301/4131/msys99xq.png)
10- Nos pregunta en una nueva pantalla si queremos proseguir con el proceso de post-instalación. => y
![Imagen](http://img301.imageshack.us/img301/9437/msys101pp.png)
11- Nos pregunta si tenemos instalado MinGW. Como es cierto si hemos seguido la etapa del posta anterior. => y
![Imagen](http://img405.imageshack.us/img405/2141/msys114cf.png)
12- Nos pregunta que le digamos al instalador donde está instalado MinGW. Si lo hemos instalado en el directorio por defecto. => C:/MinGW
![Imagen](http://img264.imageshack.us/img264/4329/msys125ld.png)
13- Nos informa de como ha ido el proceso de detección de programas instalados en MinGW. => Pulsar un tecla.
![Imagen](http://img264.imageshack.us/img264/3198/msys131qi.png)
14- Proceso terminado. => Finish
![Imagen](http://img264.imageshack.us/img264/3953/msys142lb.png)
A partir de aquí si abrimos el icono MSYS del escritorio aparece una consola como esta:
![Imagen](http://img197.imageshack.us/img197/8803/msys151gl.png)
Queda la instalación de msysDTK. Lo vemos a continuación.
Última edición por wynton el Mié 31 May 2006 , 11:47, editado 1 vez en total.
Instalación de msysDTK:
http://prdownloads.sf.net/mingw/msysDTK ... e?download
Voy a mostrar la única pantalla relevante del proceso. Las demás son como en MSYS (Yes, Yes, Install, Install, tal y cual...)
![Imagen](http://img305.imageshack.us/img305/8830/msyssdk43of.png)
Hay que indicar como carpeta de instalación la misma que elegimos para MSYS en el proceso anterior.
http://prdownloads.sf.net/mingw/msysDTK ... e?download
Voy a mostrar la única pantalla relevante del proceso. Las demás son como en MSYS (Yes, Yes, Install, Install, tal y cual...)
![Imagen](http://img305.imageshack.us/img305/8830/msyssdk43of.png)
Hay que indicar como carpeta de instalación la misma que elegimos para MSYS en el proceso anterior.
Desde la consola de MSYS hay una utilidad muy práctica para ahorrar tecleo. Dándole una o dos veces seguidas al tabulador (en seguida vereis la diferencia), MSYS te autocompleta (o lo intenta) lo que queremos escribir.
Vayamos ahora a la compilación de DRC, que es lo que queríamos hacer.
El fichero Makefile que viene de serie con DRC no funciona bien con MinGW porque hay código C y C++ mezclado y hay que seleccionar el compilador correcto (gcc o g++). Yo tengo esta chapucilla:
****** Makefile *****************************************
# DRC base makefile
C_PLUS=g++
CC=gcc
# Warning check pedantic settings
# CFLAGS=-Wall -pedantic -I.
# Standard optimization settings
CFLAGS=-O3 -I.
# i686 optimizaztions settings
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -I.
# i686 optimizaztions settings with SSE support
# -mfpmath=sse often causes accuracy problems
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -mfpmath=sse -I.
DRCSRCPP=baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o
DRCSRC= cmdline.c parsecfg.c fftsg.c gsl/gsl_fft.c gsl/error.c gsl/stream.c
GLSWEEPSRC=glsweep.c
LSCONVSRC=lsconv.c fftsg_h.c
ALL: drc glsweep lsconv
drc: $(DRCSRCPP)
$(C_PLUS) $(CFLAGS) -lm -lstdc++ -o drc $(DRCSRCPP)
glsweep: $(GLSWEEPSRC)
$(CC) $(CFLAGS) -lm -o glsweep $(GLSWEEPSRC)
lsconv: $(LSCONVSRC)
$(CC) $(CFLAGS) -lm -o lsconv $(LSCONVSRC)
%.o: %.c gsl/%.c
$(CC) -c $<
****************************************
Las lineas que no comienzan en la columna primera es que tienen un tabulador delante, no vale (creo) multiespacio.
Con esto basta con ir al directorio source de la carpeta drc-2.6.2 y escribir:
make
La respuesta del sistema tiene que ser:
gcc -O3 -I. -c -o cmdline.o cmdline.c
gcc -O3 -I. -c -o parsecfg.o parsecfg.c
gcc -O3 -I. -c -o fftsg.o fftsg.c
gcc -O3 -I. -c -o gsl/gsl_fft.o gsl/gsl_fft.c
gcc -O3 -I. -c -o gsl/error.o gsl/error.c
gcc -O3 -I. -c -o gsl/stream.o gsl/stream.c
g++ -O3 -I. -lm -lstdc++ -o drc baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o
gcc -O3 -I. -lm -o glsweep glsweep.c
gcc -O3 -I. -lm -o lsconv lsconv.c fftsg_h.c
Y ya disponemos de glsweep.exe (generador de sweeps), lsconv.exe (convolver para generación de respuestas impulsivas a partir de las medidas con sweeps) y drc.exe (el generador de filtros ecualizadores).
Estos programas una vez compilados se pueden distribuir sin necesidad de librerias adicionales (DLL's). Son independientes.
Vayamos ahora a la compilación de DRC, que es lo que queríamos hacer.
El fichero Makefile que viene de serie con DRC no funciona bien con MinGW porque hay código C y C++ mezclado y hay que seleccionar el compilador correcto (gcc o g++). Yo tengo esta chapucilla:
****** Makefile *****************************************
# DRC base makefile
C_PLUS=g++
CC=gcc
# Warning check pedantic settings
# CFLAGS=-Wall -pedantic -I.
# Standard optimization settings
CFLAGS=-O3 -I.
# i686 optimizaztions settings
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -I.
# i686 optimizaztions settings with SSE support
# -mfpmath=sse often causes accuracy problems
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -mfpmath=sse -I.
DRCSRCPP=baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o
DRCSRC= cmdline.c parsecfg.c fftsg.c gsl/gsl_fft.c gsl/error.c gsl/stream.c
GLSWEEPSRC=glsweep.c
LSCONVSRC=lsconv.c fftsg_h.c
ALL: drc glsweep lsconv
drc: $(DRCSRCPP)
$(C_PLUS) $(CFLAGS) -lm -lstdc++ -o drc $(DRCSRCPP)
glsweep: $(GLSWEEPSRC)
$(CC) $(CFLAGS) -lm -o glsweep $(GLSWEEPSRC)
lsconv: $(LSCONVSRC)
$(CC) $(CFLAGS) -lm -o lsconv $(LSCONVSRC)
%.o: %.c gsl/%.c
$(CC) -c $<
****************************************
Las lineas que no comienzan en la columna primera es que tienen un tabulador delante, no vale (creo) multiespacio.
Con esto basta con ir al directorio source de la carpeta drc-2.6.2 y escribir:
make
La respuesta del sistema tiene que ser:
gcc -O3 -I. -c -o cmdline.o cmdline.c
gcc -O3 -I. -c -o parsecfg.o parsecfg.c
gcc -O3 -I. -c -o fftsg.o fftsg.c
gcc -O3 -I. -c -o gsl/gsl_fft.o gsl/gsl_fft.c
gcc -O3 -I. -c -o gsl/error.o gsl/error.c
gcc -O3 -I. -c -o gsl/stream.o gsl/stream.c
g++ -O3 -I. -lm -lstdc++ -o drc baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o
gcc -O3 -I. -lm -o glsweep glsweep.c
gcc -O3 -I. -lm -o lsconv lsconv.c fftsg_h.c
Y ya disponemos de glsweep.exe (generador de sweeps), lsconv.exe (convolver para generación de respuestas impulsivas a partir de las medidas con sweeps) y drc.exe (el generador de filtros ecualizadores).
Estos programas una vez compilados se pueden distribuir sin necesidad de librerias adicionales (DLL's). Son independientes.
Editores GNU para leer y modificar las fuentes de DRC:
1- Emacs: el editor por excelencia; solo apto para muy frikis. Versión para windows:
http://ftp.gnu.org/pub/gnu/emacs/windows/
Basta con bajarse y descomprimir:
http://ftp.gnu.org/pub/gnu/emacs/window ... 386.tar.gz
2- DevC++:
http://www.bloodshed.net/devcpp.html
Botones, barritas, pestañas y todos estos estorbos....
1- Emacs: el editor por excelencia; solo apto para muy frikis. Versión para windows:
http://ftp.gnu.org/pub/gnu/emacs/windows/
Basta con bajarse y descomprimir:
http://ftp.gnu.org/pub/gnu/emacs/window ... 386.tar.gz
2- DevC++:
http://www.bloodshed.net/devcpp.html
Botones, barritas, pestañas y todos estos estorbos....
Se me olvidaba, una versión "light" del emacs es Xemacs:
http://www.xemacs.org/Download/win32/
Es precisamente el editor que empleo bajo windows.
http://www.xemacs.org/Download/win32/
Es precisamente el editor que empleo bajo windows.
- luisggarcia
- Mensajes: 802
- Registrado: Vie 16 Jul 2004 , 9:28
Yo estoy empleando el "Code::Blocks"
http://www.codeblocks.org/
Que es el que recomienda DRC.
Y me parece mucho más sencillo todo. No voy a poner ninguna ventana o explicación. Pues es gratuito, simplemente instalártelo y ya está.
Simplemente abriendo "drc.workspace" se abre de golpe todos los ficheros empleados de manera que puedes compilar, hacer debuger, o por ejemplo con un golpe de tecla sobre cualquier variable te envía de golpe al .h donde está definida o lo mismo sobre cualquier función te envía de golpe al .c donde se encuentra y abierto el fichero justo en esa función. Y por supuesto puedes editar rápidamente cualquier código.
http://www.codeblocks.org/
Que es el que recomienda DRC.
Y me parece mucho más sencillo todo. No voy a poner ninguna ventana o explicación. Pues es gratuito, simplemente instalártelo y ya está.
Simplemente abriendo "drc.workspace" se abre de golpe todos los ficheros empleados de manera que puedes compilar, hacer debuger, o por ejemplo con un golpe de tecla sobre cualquier variable te envía de golpe al .h donde está definida o lo mismo sobre cualquier función te envía de golpe al .c donde se encuentra y abierto el fichero justo en esa función. Y por supuesto puedes editar rápidamente cualquier código.