使用VS2015编译Synergyd历程,解决Synergd.exe占用CPU高的问题
来源:互联网 发布:江西省网络诈骗 编辑:程序博客网 时间:2024/06/09 21:35
Synergy简介
功能:
同一局域网中多台机器共享一套键盘鼠标,支持Windows、Linux、MAC设备,鼠标键盘物理连接的机器做服务器端,其他机器做客户端程序,在服务器端对各台机器进行简单配置,在客户端输入服务器端IP地址或网络名,即可体验其强大功能。
特点:
开源、配置简单、功能强大
结构:
synergy.exe - 主程序,或者说是synergy的UI配置程序
synergys.exe - 服务器端程序,配置为服务器端的电脑,该进程会常驻内存
synergyc.exe - 客户端程序,配置为客户端的电脑,该进程会常驻内存
synergyd.exe - 看门狗服务,此服务关闭后,一段时间内,还可以实现鼠标键盘的共享,但是过了这段时间,服务器和客户端将断开连接(暂时没有深入研究内部的细节)
有关Synergy的更多细节,网上已经有很多介绍,这里不再赘述。
编译动机
鄙人已经与Synergy相处两年有余,由于其种种有点,经常在公司推荐与他人使用,屡屡获赞,近期偶然发现测试机卡慢,用任务管理器一探究竟,猛然发现,居然是神器(Synergy)在作怪,服务程序(synergyd.exe)独占一个CPU内核,鄙人公司用的测试机还是双核的,有些甚至是单核的。于是决定重新编译一下Synergyd.exe,其他进程暂时未发现异常,暂不处理。
准备工作
手头有VS2012、据github介绍。需要装VS2015、Qt5.6、CMake、Python、Wix、Bonjour SDK,进行种种配置,于是乎,开始安装VS2015(整整一天呐@_@)
安装Qt,最后发现这些东西用到的不多,此处省略吐槽一万次。。。
步入正题:
1、下载最新的Synergy源码
2、VS任意一个版本(鄙人对VS还算比较熟悉,也是因为之前的误导,体验了一下VS2015)
3、如果不喜欢VS,可以使用其他任意一款C++编译工具(本文只谈VS的编译过程,其他编译工具可能有所差别)
4、CMake
操作步骤
1、CMake和源码解压
2、CMake Bin 目录下执行gui程序
3、将源码位置配置到CMake中,然后执行Configure,然后选择输出项目类型
4、选择合适的编译器,点Finish
5、点击Generate,生成项目文件
6、到输出目录找到 synergy.sln 在vs中打开项目
7、修改项目属性 ->配置属性->常规->平台工具集->Visual Studio 2015 - Windows XP (v140_xp)
8、修改项目属性 ->配置属性->C/C++->代码生成->运行库->多线程(/MT) (取消连接运行时)
9、按照步骤7、 8 修改所有依赖项目,详细参考依赖项目说明。
10、编译方式使用Release编译
11、修改代码后,即可编译出自己想要的Synergy了
synergyd依赖项目
synergy
platform
net
mt
ipc
io
common
base
arch
client
本次探索还是要网上各位大神的指导,让我快速了解了CMake、Qt等强大的工具,写此文也是想回馈广大网友,由于个人水平有限,文采也不好,还请大神们路过轻拍,如果有描述的不对的,还请多多指点!
同时,本文只是对守护服务程序Synergyd.exe进行了修改编译,解决了CPU占用高的缺陷,测试未发现异常。针对系统为Windows系统,对于Linux和Mac平台的编译本文不涉及。
- 使用VS2015编译Synergyd历程,解决Synergd.exe占用CPU高的问题
- 解决spoolsv.exe占用“特别高”的CPU的问题
- 轻松解决mscorsvw.exe进程CPU占用高的问题
- 解决java占用cpu高的问题
- 解决VS2015 VBCSCompiler.exe 占用CPU100%的问题
- VC10 vcpkgsrv.exe 占用CPU高的问题
- VC10 vcpkgsrv.exe 占用CPU高的问题
- 解决w3wp.exe CPU 内存占用问题
- 解决CompMgmtLauncher.exe CPU占用过高问题
- httpd.exe占用cpu高的解决方法
- 一次关于Apache 的httpd.exe占用服务器CPU到100%的问题处理心酸历程
- 解决系统中断占用CPU高的问题
- 在windows平台上解决oracle.exe的cpu使用高的问题
- Win7系统中wmiprvse.exe占用CPU高如何解决
- win7进程中的svchost.exe占用CPU和内存很高的原因和解决窍门
- win7进程中的svchost.exe占用CPU和内存很高的原因和解决窍门
- mysql 占用cpu特别高的解决
- w3wp.exe进程cpu使用率高和内存占用多的问题
- BZOJ 3932(CQOI 2015) 题解
- 使用ShareSDK实现分享功能,微信分享 提示“分享操作正在后台运行” 然后闪了一下屏幕
- (十)继承四(多继承)
- P2P平台的网关模式与托管模式
- java面试题
- 使用VS2015编译Synergyd历程,解决Synergd.exe占用CPU高的问题
- koa.js路由 模拟用户登陆
- **PYTHON** 初始python
- [暑假集训] jzoj 2016.7.7 noip模拟赛C 总结
- MFC使用ADO链接ACCESS的环境部署与注意事项
- adcmctl.sh wait=Y
- UGUI中层级关系
- YL杯超级篮球赛 (Standard IO)
- The k-th Largest (并查集+线段树)