![]() |
| |||
| Pere Pujal i Carabantes escribió: > Holas! > > Cuando se llama a un script bash, $0 nos da el nombre del script. > > Existe algo similar para una funcion en C que nos de el nombre > de la funcion? > int main (int argc, char *argv[]) { .. .. .. } argc nos da el numero de parametros. Ej: "./programa arg1 arg2", nos daria 3 argv[] nos da el nombre de esos parametros. Ej: argv[0] daria "programa" Espero que no me haya confundido, suerte! |
| | ||||
| ||||
| |
| |||
| On Fri, 21 Dec 2007 23:02:10 +0000 (UTC), Pere Pujal i Carabantes <pere***fornol.no-ip.org> wrote: >Bueno..., creo que ya he encontrado algo > >http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html > >Ahora a ver si lo consigo... > Pues entonces creo que sí que te sirve eso, que no es una funcion del c sino una macro del preprocesador, es decir que es lo mismo que estribir a manubrio el nombre de la funcion. Te puede servir para hacer estadísticas pero no para invocar la funcion. Por otro lado si solo sabes cuando se entra en una funcion, y no sabes cuando se sale .... Quizas se podría hacer algo más elaborado sustituyendo los nombres de funcion. Por ejemplo tienes: void funcion1() {....} Y lo cambias por _funcion1() {....} Y creas una nueva funcion: void function1() { entrada("funcion1"); _funcion1(); salida("funcion1"); } Esta segunda parte igusl se puede simplicar con una macro, para no tener que teclear tanto. Saludos :-) -Pedro- http://www.maicas.net/ e-mail en www.maicas.net |
| |||
| On Fri, 21 Dec 2007 23:02:10 +0000 (UTC), Pere Pujal i Carabantes <pere***fornol.no-ip.org> wrote: >Bueno..., creo que ya he encontrado algo > >http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html > >Ahora a ver si lo consigo... > Pues entonces creo que sí que te sirve eso, que no es una funcion del c sino una macro del preprocesador, es decir que es lo mismo que estribir a manubrio el nombre de la funcion. Te puede servir para hacer estadísticas pero no para invocar la funcion. Por otro lado si solo sabes cuando se entra en una funcion, y no sabes cuando se sale .... Quizas se podría hacer algo más elaborado sustituyendo los nombres de funcion. Por ejemplo tienes: void funcion1() {....} Y lo cambias por _funcion1() {....} Y creas una nueva funcion: void function1() { entrada("funcion1"); _funcion1(); salida("funcion1"); } Esta segunda parte igusl se puede simplicar con una macro, para no tener que teclear tanto. Saludos :-) -Pedro- http://www.maicas.net/ e-mail en www.maicas.net |
| |||
| On Fri, 21 Dec 2007 23:02:10 +0000 (UTC), Pere Pujal i Carabantes <pere***fornol.no-ip.org> wrote: >Bueno..., creo que ya he encontrado algo > >http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html > >Ahora a ver si lo consigo... > Pues entonces creo que sí que te sirve eso, que no es una funcion del c sino una macro del preprocesador, es decir que es lo mismo que estribir a manubrio el nombre de la funcion. Te puede servir para hacer estadísticas pero no para invocar la funcion. Por otro lado si solo sabes cuando se entra en una funcion, y no sabes cuando se sale .... Quizas se podría hacer algo más elaborado sustituyendo los nombres de funcion. Por ejemplo tienes: void funcion1() {....} Y lo cambias por _funcion1() {....} Y creas una nueva funcion: void function1() { entrada("funcion1"); _funcion1(); salida("funcion1"); } Esta segunda parte igusl se puede simplicar con una macro, para no tener que teclear tanto. Saludos :-) -Pedro- http://www.maicas.net/ e-mail en www.maicas.net |
| |||
| On Fri, 21 Dec 2007 23:02:10 +0000 (UTC), Pere Pujal i Carabantes <pere***fornol.no-ip.org> wrote: >Bueno..., creo que ya he encontrado algo > >http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html > >Ahora a ver si lo consigo... > Pues entonces creo que sí que te sirve eso, que no es una funcion del c sino una macro del preprocesador, es decir que es lo mismo que estribir a manubrio el nombre de la funcion. Te puede servir para hacer estadísticas pero no para invocar la funcion. Por otro lado si solo sabes cuando se entra en una funcion, y no sabes cuando se sale .... Quizas se podría hacer algo más elaborado sustituyendo los nombres de funcion. Por ejemplo tienes: void funcion1() {....} Y lo cambias por _funcion1() {....} Y creas una nueva funcion: void function1() { entrada("funcion1"); _funcion1(); salida("funcion1"); } Esta segunda parte igusl se puede simplicar con una macro, para no tener que teclear tanto. Saludos :-) -Pedro- http://www.maicas.net/ e-mail en www.maicas.net |
| |||
| On Fri, 21 Dec 2007 23:02:10 +0000 (UTC), Pere Pujal i Carabantes <pere***fornol.no-ip.org> wrote: >Bueno..., creo que ya he encontrado algo > >http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html > >Ahora a ver si lo consigo... > Pues entonces creo que sí que te sirve eso, que no es una funcion del c sino una macro del preprocesador, es decir que es lo mismo que estribir a manubrio el nombre de la funcion. Te puede servir para hacer estadísticas pero no para invocar la funcion. Por otro lado si solo sabes cuando se entra en una funcion, y no sabes cuando se sale .... Quizas se podría hacer algo más elaborado sustituyendo los nombres de funcion. Por ejemplo tienes: void funcion1() {....} Y lo cambias por _funcion1() {....} Y creas una nueva funcion: void function1() { entrada("funcion1"); _funcion1(); salida("funcion1"); } Esta segunda parte igusl se puede simplicar con una macro, para no tener que teclear tanto. Saludos :-) -Pedro- http://www.maicas.net/ e-mail en www.maicas.net |
| |||
| "Pere Pujal i Carabantes" <pere***fornol.no-ip.org> escribió en el mensaje news:slrnfmodjn.v4d.pere***hola.fou.net... > Holas! > > Cuando se llama a un script bash, $0 nos da el nombre del script. > > Existe algo similar para una funcion en C que nos de el nombre > de la funcion? Existe algo similar a lo que describes sobre un shell script. Si tienes definida la función main() como: int main(int argc, char **argv) {...} entonces argv[0] será el nombre del programa (pero no de la función, ojo) que se está ejecutando. por otro lado, en gcc existía una macro (que quedó obsoleta, creo) llamada __FUNCTION__ que se expandía con el nombre de la función, pero como digo ya no se puede usar. > > En caso negativo, conoceis de alguna manera alternativa para > que una funcion averigue su nombre? > > No me vale el meterlo "hardcoded" dentro de ella ![]() > > > Salut > Pere > -- > sc***fornol.no-ip.org spc***fornol.no-ip.org > cs***fornol.no-ip.org cannsp***fornol.no-ip.org > spamc***fornol.no-ip.org spmc***fornol.no-ip.org > cspam***fornol.no-ip.org cspm***fornol.no-ip.org |
| |
| |
| |||
| "Pere Pujal i Carabantes" <pere***fornol.no-ip.org> escribió en el mensaje news:slrnfmodjn.v4d.pere***hola.fou.net... > Holas! > > Cuando se llama a un script bash, $0 nos da el nombre del script. > > Existe algo similar para una funcion en C que nos de el nombre > de la funcion? Existe algo similar a lo que describes sobre un shell script. Si tienes definida la función main() como: int main(int argc, char **argv) {...} entonces argv[0] será el nombre del programa (pero no de la función, ojo) que se está ejecutando. por otro lado, en gcc existía una macro (que quedó obsoleta, creo) llamada __FUNCTION__ que se expandía con el nombre de la función, pero como digo ya no se puede usar. > > En caso negativo, conoceis de alguna manera alternativa para > que una funcion averigue su nombre? > > No me vale el meterlo "hardcoded" dentro de ella ![]() > > > Salut > Pere > -- > sc***fornol.no-ip.org spc***fornol.no-ip.org > cs***fornol.no-ip.org cannsp***fornol.no-ip.org > spamc***fornol.no-ip.org spmc***fornol.no-ip.org > cspam***fornol.no-ip.org cspm***fornol.no-ip.org |
| |||
| "Pere Pujal i Carabantes" <pere***fornol.no-ip.org> escribió en el mensaje news:slrnfmodjn.v4d.pere***hola.fou.net... > Holas! > > Cuando se llama a un script bash, $0 nos da el nombre del script. > > Existe algo similar para una funcion en C que nos de el nombre > de la funcion? Existe algo similar a lo que describes sobre un shell script. Si tienes definida la función main() como: int main(int argc, char **argv) {...} entonces argv[0] será el nombre del programa (pero no de la función, ojo) que se está ejecutando. por otro lado, en gcc existía una macro (que quedó obsoleta, creo) llamada __FUNCTION__ que se expandía con el nombre de la función, pero como digo ya no se puede usar. > > En caso negativo, conoceis de alguna manera alternativa para > que una funcion averigue su nombre? > > No me vale el meterlo "hardcoded" dentro de ella ![]() > > > Salut > Pere > -- > sc***fornol.no-ip.org spc***fornol.no-ip.org > cs***fornol.no-ip.org cannsp***fornol.no-ip.org > spamc***fornol.no-ip.org spmc***fornol.no-ip.org > cspam***fornol.no-ip.org cspm***fornol.no-ip.org |
| |||
| "Pere Pujal i Carabantes" <pere***fornol.no-ip.org> escribió en el mensaje news:slrnfmodjn.v4d.pere***hola.fou.net... > Holas! > > Cuando se llama a un script bash, $0 nos da el nombre del script. > > Existe algo similar para una funcion en C que nos de el nombre > de la funcion? Existe algo similar a lo que describes sobre un shell script. Si tienes definida la función main() como: int main(int argc, char **argv) {...} entonces argv[0] será el nombre del programa (pero no de la función, ojo) que se está ejecutando. por otro lado, en gcc existía una macro (que quedó obsoleta, creo) llamada __FUNCTION__ que se expandía con el nombre de la función, pero como digo ya no se puede usar. > > En caso negativo, conoceis de alguna manera alternativa para > que una funcion averigue su nombre? > > No me vale el meterlo "hardcoded" dentro de ella ![]() > > > Salut > Pere > -- > sc***fornol.no-ip.org spc***fornol.no-ip.org > cs***fornol.no-ip.org cannsp***fornol.no-ip.org > spamc***fornol.no-ip.org spmc***fornol.no-ip.org > cspam***fornol.no-ip.org cspm***fornol.no-ip.org |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| funcion el nombre del objeto no es valido | Edgar Brito | Newsgroup microsoft.public.es.sqlserver | 3 | 26-06-2008 18:10:01 |
| Re: Siempre me ha parecido impúdico firmar con mi propio nombre. Es una tontería, lo sé, porque al fin y al cabo ¿cuál es el verdadero nombre, el nombre propio de una persona? ¿Acaso el que le impusieron al nacer, que es una suerte de capricho patern | zinnia | Newsgroup es.humanidades.literatura | 0 | 18-06-2008 18:30:14 |
| Función "En nombre de" en owa, es posible? | Javi \(CC\) | Newsgroup microsoft.public.es.exchange | 1 | 20-02-2008 12:36:55 |
| Nombre de la Funcion... | Lord Voldemort | Newsgroup microsoft.public.es.dotnet.vb | 5 | 20-12-2007 16:04:25 |
| Obtener el nombre de menu dentro de la funcion llamada. | Tomas | Newsgroup microsoft.public.es.vc | 12 | 10-05-2007 07:20:39 |