论坛首页 开源情报交流区 阅读主题

[原创]VC6.0 浮点未初始化bug的原因

484 浏览 0 回复
#1 楼主 2026-06-01 21:08:47
可见 _cfltcvt_tab是一个全局的函数指针数组,且初始化赋值为 _fptrap从注释中,可以发现决定初不初始化FPU的关键是 _cfltcvt_init,该符号在libc.lib中fpinit.obj中 为了更好观察 _FPinit变量,可以记录下当前指令地址 0x004017F3使用OD调试器,调试该程序,并在断在入口点,Ctrl+G跳转到目标地址观察
// test.cpp : Defines the entry point for the console application.
#include "stdafx.h"
int main(int argc, char* argv[])
float f;
printf("please input a float: ");
scanf("%f",&f);
return 0;
// 修改测试代码,旨在让vc6.0初始化FPU
float f = 1.0f;


登录后可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-291233.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号