如何解决从 VC6 迁移到 VS2019 时未定义 _segment
我正在将一个 Windows 项目从 VC6 迁移到 VS2019,但出现错误:
E0020 标识符“_segment”未定义
我试图找到 _segment 定义,但没有找到。所以,我想知道 _segment 是否可能是 VC6 中的关键字。但是,我仍然在 Google 中找不到任何东西。
知道如何修复错误吗?谢谢。
代码是:
#ifndef _MSC_Ver
#define _MSC_Ver
#endif
/* MS-C ?? */
#ifdef _MSC_VER
_segment SegDefine,SegType,SegSym,SegCode;
#endif
#define ALLOC_C
#include "common.h"
#include <malloc.h>
#include "extern.h"
#ifdef MSDOS
#include <dos.h>
#ifndef __WATCOMC__
#include <memory.h>
#endif
#endif
/* MM(????)? */
#define MaxClass 8
#ifdef _MSC_VER /* MS-C ?? */
/* FARBased ? */
static USHORT mmFarSeg[MaxClass]; /* ?? */
static USHORT mmFarBase[MaxClass]; /* */
static USHORT mmFarOrg[MaxClass]; /* ?? */
static USHORT mmFarSize[MaxClass]; /* */
解决方法
_segment
是 16 位 MSC 6 和 VC 1.x(不是 VC 6)中的关键字,与 x86 memory segmentation 和 _based
指针相关.从 VC 2.0 开始,该关键字在 32 位版本的 VC 中已停用。来自微软的Q67882:
以下关键字是在 Microsoft C 版本 6.0 中首次引入的:
_based
_segment
[...]
注意:在 Microsoft Visual C++ 32 位版本 2.0 版中,_segment
关键字
已删除,__based
关键字的功能已更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。