惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
U
Unit 42
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
G
Google Developers Blog
Recent Announcements
Recent Announcements
B
Blog RSS Feed
罗磊的独立博客
博客园 - Franky
J
Java Code Geeks
S
SegmentFault 最新的问题
D
DataBreaches.Net
C
Check Point Blog
Blog — PlanetScale
Blog — PlanetScale
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
腾讯CDC
博客园_首页
美团技术团队
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏

博客园 - 范晨鹏

分省svg代码 noi数据分析工具 unreal engine 5 移动到其它主机时的 epic games launcher 识别修复 楼宇对讲自动开门的设计与实现 循*迹小车轨道识别算法 树莓派ssh卡顿之双机互联解决 ntfs 时间戳换算 安装 django 教程 利用 dns 实现 app简易抓包 安装django 框架 tensorflow 学习记记——环境安装 用pillow和 opencv做透明通道的两图混全(blend) centos升级gcc centos 7 中 tomcat 安装 centos中 mysql 5.7安装 openwrt 编译newifi 应用程序 mingw 环境编译 liburl故障一例 szutsid youku.com awstats 日志分析工具linux下的安装和使用
xsocks 64位平台下编译问题小记
范晨鹏 · 2016-11-01 · via 博客园 - 范晨鹏

1、src/common/public.h

     uint32_t lpParameter 改为 void* lpParameter;

2、SocksMgr.cpp

DWORD WINAPI CSocksMgr::ForwardProc(void* lpParameter) 
{

//    int s = int (lpParameter);
...
}

编译不过去。因为在 64位平台下,void*向 int转换会丢失精度。

DWORD WINAPI CSocksMgr::ForwardProc(void* lpParameter)
{

    intptr_t s = intptr_t(lpParameter);
        ...
}

作者在这里做强制转换的原因是:传递的参数  lpParameter,最原始由线程创建时当参数传入,受接口限制,只能传入指针类型。实际这个参数是一个socket句柄。是个 int。

还有个将 this指针强制转换为 uint32_t的。

bool CSocksMgr::Begin( LPCSTR ip, int port )
{
                ......
        proxy->lpParameter = this;
                ......
}