编译当前gladman AES library
,我得到在aes_modes.c
警告,都说"warning C4731: ... frame pointer register 'ebx' modified by inline assembly code"
Gladman AES库 - 安全忽略编译器警告?
这听起来很令人担忧,我不希望我的应用程序与堆栈损坏崩溃,但我可以勉强读完x86汇编。任何人都可以建议,如果这些警告可以安全地忽略?
编译当前gladman AES library
,我得到在aes_modes.c
警告,都说"warning C4731: ... frame pointer register 'ebx' modified by inline assembly code"
Gladman AES库 - 安全忽略编译器警告?
这听起来很令人担忧,我不希望我的应用程序与堆栈损坏崩溃,但我可以勉强读完x86汇编。任何人都可以建议,如果这些警告可以安全地忽略?
这是安全的忽略,如果它的保存和恢复。例如。
push ebx
;use the ebx to do something else
pop ebx
看到这个MSDN page,这也解释了什么错误表示。
如果没有在代码中完成,可以添加并测试它。
似乎忽略此警告并不安全。 代码在XP上工作正常,但在Windows 7上测试时,它在aes_decrypt汇编程序中崩溃。我将转向纯粹的C版本。
据我可以告诉这不是在代码中完成的,但它不能像您推荐的那样容易地修复,因为代码似乎使用ebx作为将汇编器结果返回到C的一种方式。 –
Can你指向我的文件在谷歌代码搜索 – Zimbabao
您从http://gladman.plushost.co.uk/oldsite/AES/下载代码? – Zimbabao