【发布时间】:2014-12-16 05:43:02
【问题描述】:
我在学习 C 中的函数指针时遇到了一个在执行时会重新启动计算机的程序。
void (*f) (void);
f=(void (*)(void) MK_FP(0xFFFF,0x0000);
f();
(void (*)(void)) 部分不在提供的原始文本中,我必须添加此部分才能编译代码。这是如何工作的?
非常感谢。
【问题讨论】:
-
这可能适用于运行 DOS 的机器;它可能无法在运行 Windows 的机器上运行,并且绝对不会在运行 Unix 的机器上运行。你在运行DOS吗?而且 Turbo C++ 3.0 与其说是“老派”,不如说是太老了,不能还在学校(它于 1991 年发布!)。
-
MK_FP 在哪里定义?
-
Joel Cornett,它在
中定义,但这不是这里的问题。 -
Jonathan Leffler: 实际上我是在 window 上运行的 :( 我所有擅长编码的朋友都转向了 Codeblock 等等,当我使用诸如近指针和远指针之类的东西时,他们只是不不知道我在写什么。所以我很确定这是老派
-
你为什么要在 2014 年编写 MS-DOS 程序?你的朋友不知道你在说什么,因为你说的是过时的技术。
标签: c function-pointers