문제

I know that FreePascal apps for Linux are statically linked. I imagine that there are some low-level APIs required. Is this just GTK for GUI applications? I assume a command-line app wouldn't have the same dependencies.

Where can I find a way to determine which LCL classes require which underlying APIs?

Edit: Vitaly wanted to know what I found with his answer.

With a small console app: ldd confirmed that it was a statically linked executable.
strace was more interesting. A console-only application showed no open files. I guess it's totally self contained.

With a simple GUI application, ldd showed some dynamic linking, and strace's output showed many "open"s.

It'll still take a little more research before I'm comfortable with this.

도움이 되었습니까?

해결책

Since they are statically linked, exactly what kind of dependencies could they have?..

However you can try to work it out with a several methods...

  1. ldd <executable> (just to be sure that your binary is not dynamically linked)
  2. strace <executable> > log.file 2&>1 && cat log.file | grep open

Where can I find a way to determine which LCL classes require which underlying APIs?

From my point of view, this purpose requires some hard work. I'd advice to try systemtap for the one.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top