libuv 可实现同步、异步、阻塞、非阻塞,异步IO等东西。
http://libuv.org/
https://github.com/libuv/libuv
下面的步骤展示了,将libuv建立成一个VS2017项目libuv,其生成目标为静态lib。编译成功后,将libuv.lib作为我项目(比如,叫tyyxmr)的一部分。tyyxmr加入如下头文件后,
#include "uv.h"
就可使用其中的函数。
(1)新建一个VS2017项目libuv,注意使用windows桌面的静态库。建立成功后,右键点击项目libuv,选择libuv属性页后,可看到配置属性=》常规里,
目标文件扩展名为.lib; 配置类型为静态库(.lib)
(2)在libuv工程中加入如下6个头文件。
Uv.h uv文件夹下五个文件
其他头文件没有包含在xmrig工程中。
在libuv工程中加入若干文件。
参看工程F:\LibCXXTest\LibUVCopy\uv.sln
包括:src文件夹下全部文件,以及src\win文件夹下全部文件
(3)
libuv工程的属性页,选择VC++目录=》包含目录,将前述头文件所在目录加进去,这样,VS2017能找到这些头文件。
(4)libuv工程的属性页,选择C/C++=》预处理定义,加入:
WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WIN32_WINNT=0x0600;_GNU_SOURCE;
_CRT_SECURE_NO_DEPRECATE;和_CRT_NONSTDC_NO_DEPRECATE;必要,其它几个应该可以不要。。
(5)libuv工程的属性页,选择“不适用预编译头”
这样,就能够生成libuv.lib。
接下来,可以在我的项目中适用libuv.lib。
(给自己提醒:libuvCopy下实现了前面的所有步骤。)
具体步骤:
(1)创建工程tyyxmr,在代码里加入
#include "uv.h"
将来要使用这里面的函数。
(2)选择工程hhjxmr的属性页,在C/C++=》常规=》附加包含目录,把uv.h文件所在目录加进去;在链接器=》常规=》附加库目录,把libuv.lib文件所在目录加进去;在链接器=》输入=》附加依赖项,将libuv.lib加入。
(3)头文件加入下列代码,因为libuv用到了这里面的函数。
#pragma comment(lib,"advapi32.lib")
#pragma comment(lib,"iphlpapi.lib")
#pragma comment(lib,"psapi.lib")
#pragma comment(lib,"shell32.lib")
#pragma comment(lib,"user32.lib")
#pragma comment(lib,"userenv.lib")
#pragma comment(lib,"ws2_32.lib")
成功使用libuv.
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Congratulations @ranksvm! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit