This is a very similar question to the other "ATmega programming ..." but with a markedly different emphasis.
Suppose that I have an Arduino library written for a specific add-on device. In this case, it is LoRa radio chip. It uses a C++ class to interface to the radio. I would like to incorporate this code into a standard C program (for Mega328P). Rub is, I know ALMOST nothing about C++!
I plan to provide substitute functions for the accesses to the MCU IO pins. Still called DigitalWrite() and such, but hand crafted to be MCU specific and much tighter. Likewise, I plan to provide substitute functions ("wrappers", I guess) to call the AVR LibC delay functions instead of the Arduino ones. Looks like some substitute serial functions will also be needed. I think those are the three big interface issues.
What I am much less clear about is how to make this library/class part of my program. I think that I need to call the class "constructor" somehow, but not sure how to do that or anything else to get it started. Nor, am I clear on calling functions within that class from the "regular C" part of the program.
So, if some expert on such matters could provide a little guidance on the details of incorporating an Arduino interface library into a non-Arduino C program, I would appreciate it VERY much!