我正在尝试为诸如win32,mac os,linux,iOs等平台创建一个抽象层。我想要这个动态链接。在不支持的平台上,它不应该成为一个问题,因为从我看到的所有可以编译为动态库的内容都可以编译为静态库,并且对代码的影响最小。关于C++命名约定的问题
现在去的这点:
我创建了一个名为IThread接口和一个名为CThread类。我使用了一个名为CreateThread的函数,该函数使用extern“C”定义,以便能够将其导出并在库外调用它。这里的问题是,在win32中,例如已经有一个名为CreateThread的函数,因此我得到一个链接器错误。我了解错误以及它出现的原因,但我不确定避免这种情况的好方法。我并不喜欢使用奇怪的命名,像CreateQtThread一样使用qt。
我的另一个想法是创建一个创建CThread实例的线程管理器/工厂,但我不确定这将是一个好主意。
你们对此有何看法?我在问,因为我不想冲这样的重要组织问题。
非常感谢您
你的问题是什么?你明白错误,你不想重命名你的函数,所以你想知道我们对此有何看法? –
是的,如果可能的话,我希望有更多经验的人员就此发表意见。谢谢。 – Sanctus2099
是否希望您的抽象层仅用于C++或其他语言(如C)?你是否想从给定的C++编译器使用它(并且如果你需要改变编译器,则重新编译你的抽象层)或者oyu是否需要“一旦编译一次就可以编译C++”? – ysdx