【发布时间】:2022-08-07 18:51:17
【问题描述】:
我正在将基于 DOS 的旧 16 位应用程序转换为当前的 Windows 控制台应用程序。每次在调试模式下运行应用程序时,我都会收到以下错误:
Project xxxx.exe raised exception class $C0000005 with message \'access violation at 0x004151f9: read of address 0x00000000\'.
以下是爆炸的代码行:
if ((argc < 1) || (strcmp(argv[1],\"/?\")) == 0) prg_syntax();
代码评估并应该运行该函数以显示程序语法,但不会,而是抛出错误。
我正在使用 C++ Builder 版本(11.1.5)。
我将不胜感激在哪里或如何克服的任何帮助。
谢谢, 肯特
-
小测验:如果
argc的值为 1,您希望argv[1]中的值是多少,为什么?这是一个技巧问题,在这种情况下没有argv[1]。 -
我正在将基于 DOS 的旧 16 位应用程序转换为当前的 Windows 控制台应用程序。-- 如果那是 16 位应用程序的实际代码,那么该应用程序从一开始就被破坏了。
标签: c++ c++builder