Я использую visual studio 2015, и я хочу написать статическую библиотеку C++, которую я могу использовать в проектах Unicode и в проектах с несколькими байтами, как я это делаю правильно?Как я могу поддерживать как Unicode, так и Multi-Byte Character Set в Static library (.lib)?
Например, у меня есть этот код:
namespace Reg
{
LONG WINAPI CreateKey(
_In_ HKEY hKey,
_In_ LPCTSTR lpSubKey,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
)
{
return RegCreateKeyEx(hKey,
lpSubKey,
0, NULL,
REG_OPTION_NON_VOLATILE,
samDesired,
NULL,
phkResult,
NULL);
}
}
Просто используйте интерфейс wchar_t и не заботятся обо всех TCHAR бизнесе. Это была плохая идея, когда она была изобретена, и сейчас это плохая идея. Не использовать «широкие» версии Windows API просто глупо в любом случае. – rubenvb
У вас должно быть две функции. Поскольку это C++, вы можете перегружать, поэтому есть две функции CreateKey, которые берут 'LPCWSTR' и тот, который берет' LPCSTR'. –
@RaymondChen я могу получить только одно объявление, которое берет 'LPCTSTR' и два определения, которое берет' LPCWSTR' и тот, который берет 'LPCSTR'? – codeDom