首页
社区
课程
招聘
[求助]C语言代码优化问题
发表于: 2015-10-1 01:05 3555

[求助]C语言代码优化问题

2015-10-1 01:05
3555
void call_寻路(int x,int y)
{
       
        int x基址=0x00400000+基址_x座标;
        int y基址=0x00400000+基址_y座标;
        char x字串[10],y字串[10];
        while(*(int*)(0x00400000+基址_画面读取状态)==0x01)

        {
                Sleep(2000);
        }

        if(*(int*)(0x00400000+基址_画面读取状态)==0x00)
        {
                if(ConditionalCompilation==1)
                {
                        Error=fopen_s(&FileNumber,RunLogPath,"a+");//建个運行日誌文件
                        if(Error==0)
                        {
                                fprintf(FileNumber,"call_寻路%d,%d\n",x,y);

                        }
                        fclose(FileNumber);
                }
                _itoa_s(x,x字串,10,10);
                _itoa_s(y,y字串,10,10);

                _asm
                {
                        lea ebx,x字串
                                mov ebx,[ebx]
                        mov ecx,x基址
                                mov [ecx],ebx

                                lea ebx,y字串
                                mov ebx,[ebx]
                        mov ecx,y基址
                                mov [ecx],ebx               
                }

                call_按钮点击(*(int*)((*(int*)(0x00400000+基址_寻路基址))+0x01c*4));

        }
       

}

这函数的流程是,把整数转成ascii码,例如x座标整数型为111的话,就转变成0x31,0x31,0x31
然後写入座标的基址里面,只是我觉得_itoa_s(x,x字串,10,10);这样的代码看起来很别扭,
是不是能用指针直接转成0x31,0x31,0x31这样的数据??

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 69
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
不喜欢itoa,可以用sprintf。
2015-10-1 09:25
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
int的111和string的111存储结构不同, 不能直接用指针强制写入
2015-10-1 12:52
0
游客
登录 | 注册 方可回帖
返回
//