HP-Socket
HP-Socket copied to clipboard
库的头文件好像包含了windows.h
库的头文件看起来无条件包含了windows.h,导致污染了用户的代码(windows.h里面定义了很多宏)。而且Windows平台传递字符串用的LPWSTR,导致跨平台的客户端需要根据不同的平台调不同的接口,还要自己处理char和wchar_t字符串的转换,感觉很不方便啊,能尽量统一一下吗?
- Windows版本没有跨平台的问题
- 可以用_T()宏屏蔽字符集差异,另外可以根据需要设置用MBCS/UNICODE编译你的项目。
我主要想表达你后端实现可以分系统,头文件能不能全平台统一呢,字符串就用std::string_view或者std::string来传递,别让库的头文件里也引入平台相关的东西。比如现在头文件里是有windows.h的引入的,而Windows自己的头文件里又有各种乱七八糟的宏定义,很容易干扰到我自己的代码。
#if defined(__linux__)
#include "Linux/include/..."
#else
#include "Windows/include/..."
#endif