Recent The Basics

  • Binary Compatible C++ Interfaces (Part 1)

    Introduction This is the first part of a multi-part series on the challenges and techniques for creating Binary Compatible C++ Interfaces (BCCI). In researching this topic, I often found the issues enumerated without (or with very little) explanation as to why something should be avoided. As a result I have tried to include the “why” […]

  • p6COM Reference Counting: A Primer

    Introduction Reference counting generally comes in two basic flavors: intrusive and non-intrusive. Non-intrusive reference counting basically means that the location of the variable which stores the reference value is outside of the “thing” being reference counted. COM interfaces make use of intrusive reference counting, meaning the underlying object maintains the reference count value itself internally. […]

  • A Smart Pointer for p6COM

    Introduction p6ComPtr<> is a smart pointer implementation designed for use with p6COM, P6R’s lite implementation of the Component Object Model. p6COM is the basis for our cross platform server framework as well as the library loader for our library products. p6ComPtr<> is a tool to help prevent component leaks and simplify the use and management […]

  • P6COM Component Object Rules

    Introduction P6Platform and other planned products are and will be built on our light-weight component object framework implementation called P6COM. We chose the Component Object Model (COM) for our products because it provides many advantages (but that’s a whole other article), and in order to realize those advantages you have to follow the rules. There […]

  • What is a COM Component

    Introduction I’ve had several questions lately asking specifically what a COM component is, what follows is hopefully meant to provide some quick answers to those questions. Fundamentally, a COM component (or component-object, or COM object) is just a reusable piece of code and data in binary form that has the following 4 attributes: Encapsulation – […]