Skip to main content

Topic: Is there any explanation of the pfc lib? (Read 1980 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • x88se
  • [*]
Is there any explanation of the pfc lib?
It takes a lot of time to understand the classes or methods in the lib.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Is there any explanation of the pfc lib?
Reply #1
There are several reason for the existence of PFC in foobar2000.

One is a wish to decouple the base functionality that components can use from a particular compiler runtime. Without PFC, we would need to mandate a particular VC++ version shared between all components.

Another one is that the code has a lot of heritage, from the days of VC6. That compiler had a positively horrible runtime library with plenty of bugs. Any developer from that era tends to have their own base library.

All in all, it's designed as an auxillary library focused on correctness in sharing data between multiple modules, a rather non-trivial problem.
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

  • x88se
  • [*]
Is there any explanation of the pfc lib?
Reply #2
There are several reason for the existence of PFC in foobar2000.

One is a wish to decouple the base functionality that components can use from a particular compiler runtime. Without PFC, we would need to mandate a particular VC++ version shared between all components.

Another one is that the code has a lot of heritage, from the days of VC6. That compiler had a positively horrible runtime library with plenty of bugs. Any developer from that era tends to have their own base library.

All in all, it's designed as an auxillary library focused on correctness in sharing data between multiple modules, a rather non-trivial problem.

Thanks a lot! By the way, is there any docs about it?

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Is there any explanation of the pfc lib?
Reply #3
Most of the documentation for the foobar2000 SDK, including PFC, is in comments in the code. There's some high level tips in sdk-readme.html, but in general, it's comments and looking at existing code.
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.