Я пытаюсь создать слой абстракции для таких платформ, как win32, mac os, linux, iOs и т. Д. Я хочу, чтобы это было динамически связано.На платформах, которые не поддерживают это, это не должно быть проблемой, поскольку из того, что я видел, все, что может быть скомпилировано как динамическая библиотека, также может быть скомпилировано как статическая с минимальным воздействием на код.
Теперь, чтобы добраться до сути этого:
Я создал интерфейс с именем IThread и класс с именем CThread.Я использую функцию с именем CreateThread, которая определена с extern "C", чтобы иметь возможность экспортировать ее и вызывать вне библиотеки.Проблема здесь в том, что в win32, например, уже есть функция с именем CreateThread, и поэтому я получаю ошибку компоновщика.Я понимаю ошибку и почему она появляется, но я не уверена, что есть хороший способ избежать этого.Мне не очень нравится использовать странные имена, поскольку qt использует, например, CreateQtThread.
Другая идея, которую я имею, заключается в том, чтобы создать диспетчер / фабрику потоков, которая создает экземпляры CThread, но я не уверен, что это будет хорошей идеей.
Что вы, ребята, думаете об этом?Я спрашиваю, потому что я не хочу спешить с такими важными организационными проблемами, как эта.
Большое спасибо