我很想知道某些语言在设计上是否更适合某些处理器架构.当我说架构时,我不是指ARM/PPC/MIPS,而是更多堆栈,累加器或基于寄存器的架构.
例如,我可以想到Forth,这是一个堆栈架构.还有其他人?
我打算编写一个代码库来访问低级别的某些硬件(即翻转寄存器位等).
以前,我将所有内容都写成C函数,并使用extern"C"来编译C和C++代码的库.因此,C和C++用户只需要包含头文件并按原样调用函数.
现在,我正在考虑将事物组织成课程.例如,我可以将所有功能放在一个类中初始化,配置,发送和接收UART.这在C++中运行良好,但C怎么样?我不能把"C"作为整个班级.
我想到的一件事是:用extern"C"转义标准C函数中的所有东西.然后,为C++提供一个包装类,它有一堆调用这些'C'函数的内联方法.
int foo_bar (int *address, int data) {...} // extern C stuff
int foo::bar (int *address, int data) { return foo_bar(address, data); } // inline method
Run Code Online (Sandbox Code Playgroud)
这样可以吗?还有其他想法吗?最佳做法?