C/C++ server and network library, including coroutine,redis client,http/https/websocket,mqtt, mysql/postgresql/sqlite client with C/C++ for Linux, Android, iOS, MacOS, Windows, etc..
lib_fiber\c\src\common\gettimeofday.c(144): error C2220: 以下警告被视为错误
lib_fiber\c\src\common\gettimeofday.c(144): warning C4996: '__timezone': This function or variable may be unsafe. Consider using _get_timezone instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
lib_fiber\c\src\common\gettimeofday.c(145): warning C4996: '__daylight': This function or variable may be unsafe. Consider using _get_daylight instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
看fiber库的描述是支持windows的 放开xmake.lua里面的限制 编译过程会遇到下面的一些错误 (下面有些错误是c++特有的,有些是msvc的强制安全要求,大佬比我懂,看情况修改哈。要么就把使用不安全函数的宏直接加到构建脚本里,要么用宏控制下,windows上就用那些安全函数) 处理了下面的错误之后编译即可通过(我本地都是注释或者赋值为0)
1 用了线程不安全的函数 编译会报错如下
应该是没有保证线程安全,需要换成后面的函数
2 dup可能被废弃了,用2022编译通不过 把上面两行注释了,继续编译,会出现下面的错误 可能是废弃了,得换成_dup?
3 看这里的报错,貌似是delete关键字重名了?
4 这里只有一个右大括号,是不是写漏了
5 这个文件,我用utf-8和gbk打开,注释都会乱码,字符编码应该是已经错乱了
6 如图,貌似是因为c++不支持默认int
7 这里类型得明确指定成
char*
8 如下的文件同样存在被废弃的函数
9 如下的报错都要求明确void*转换的类型
10 如下报错显示要用msvc提供的安全函数 lib_fiber\c\src\dns\rfc1035.c
11 貌似是没有定义UNICODE宏,用了WSASocketA函数 不过这里也没字符串参数,分不分A或者W好像也没啥关系
12 这里第七个参数,是int指针,但是需要一个LPDWORD,在64位上LPDWORD是unsigned long指针
13 不安全的函数
14 一些不安全的函数
15 不安全函数
16 一些不安全函数
17 同样提示要明确转换
void*
18 不安全函数
19 不安全函数
20 void*类型转换的问题
21 条件编译的用法好像有问题,不能用&&,得用两个嵌套
22 SOCKET句柄转int可能出问题 前面把dup改_dup的位置,话说这种SOCKET句柄传给dup的用法可以嘛,不确定?
23 不安全函数,可能溢出
24 void*类型转换的问题
25 void*类型转换的问题