看fiber库的描述是支持windows的

放开xmake.lua里面的限制

编译过程会遇到下面的一些错误
(下面有些错误是c++特有的,有些是msvc的强制安全要求,大佬比我懂,看情况修改哈。要么就把使用不安全函数的宏直接加到构建脚本里,要么用宏控制下,windows上就用那些安全函数)
处理了下面的错误之后编译即可通过(我本地都是注释或者赋值为0)
1 用了线程不安全的函数
编译会报错如下

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.
应该是没有保证线程安全,需要换成后面的函数
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*类型转换的问题

看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*类型转换的问题
