linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* About use of dlsym()
@ 2014-08-08  6:29 taeung
  2014-08-09 13:39 ` Taeung
  2014-08-11  7:25 ` Namhyung Kim
  0 siblings, 2 replies; 4+ messages in thread
From: taeung @ 2014-08-08  6:29 UTC (permalink / raw)
  To: linux-perf-users

Hello, perf hackers :-)

I'm beginner in perf.
I'm analysing the sequence of function call and how it was written to 
update 'report' of gtk view.

This is a thread of a command 'perf report --gtk'

1. run_argv()
(in main of perf.c:534)

2. handle_internal_command()
(in run_argv of perf.c:420 )
So far, I've thought this process is to filter what command and option is

3. cmd_report()
(in run_builtin of perf.c:319) by function pointer

4. setup_browser()
(in cmd_report of builtin-report.c:750)

5. setup_gtk_browser()
(in setup_browser of ui/setup.c:74)

6. perf_gtk__init()
(in setup_gtk_browser of ui/setup.c:32)

about number 6, I have a question.

In setup_gtk_browser of ui/setup.c: 28 ~ 32,

  28         perf_ui_init = dlsym(perf_gtk_handle, "perf_gtk__init");
  29         if (perf_ui_init == NULL)
  30                 goto out_close;
  31
  32         if (perf_ui_init() == 0)
  33                 return 0;
  34

Why not call directly 'perf_gtk__init()' ?
Why call the function by function pointer(perf_ui_init) after it is 
gotten by 'dlsym()' ?
Why use 'dlsym()' ?
Is it better than calling directly the function ?

- Taeung -

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-08-12  5:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-08  6:29 About use of dlsym() taeung
2014-08-09 13:39 ` Taeung
2014-08-11  7:25 ` Namhyung Kim
2014-08-12  5:51   ` taeung

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).