将 klib 的 knetfile.c|h 移植到 Windows,当我在"windows unistd.h"中订阅时,出现错误 C2036:"void *":未知大小
Porting klib's knetfile.c|h to windows, when I sub in the "windows unistd.h", I get error C2036: 'void *' : unknown size
首先,由" Windows Unistd.h",我的意思是这里的示例:
我正在尝试按摩knetfile.c,以便可以为Windows64编译。我的第一步是删除unistd.h包括,因为它在Windows上不可用。
致命错误C1083:无法打开包括文件:'unistd.h':没有这样的文件或目录
所以,我认为我会以链接到上面的倒入替换掷骰子。但是,这显然不起作用,因为我现在会收到一系列错误和警告:
knetfile.c(189):错误c2036:'void *':未知大小 knetfile.c(236):警告C4267:'function':从'size_t'转换为'int',可能丢失数据
knetfile.c(264):警告c4244:'=':从"插座"转换为'int',可能的数据丢失
knetfile.c(271):警告C4244:'=':从'socket'转换为'int',可能丢失数据
knetfile.c(300):警告C4244:'=':从'__int64''到'int'的转换,可能会丢失数据
knetfile.c(335):错误c2143:语法错误:丢失';''在" const"
之前knetfile.c(336):错误c2065:'p':未申报的标识符
knetfile.c(336):错误C2100:非法间接
knetfile.c(336):错误c2065:'p':未申报的标识符
knetfile.c(337):错误c2065:'p':未申报的标识符
knetfile.c(337):错误C2100:非法间接
knetfile.c(337):错误c2065:'p':未申报的标识符
knetfile.c(337):错误C2100:非法间接
knetfile.c(337):错误c2065:'p':未申报的标识符
knetfile.c(338):错误c2065:'p':未申报的标识符
knetfile.c(338):警告c4047:'函数':'const char *'在间接级别上不同于'int'
knetfile.c(338):警告C4024:'strtoint64':正式和实际参数的不同类型1
knetfile.c(378):警告c4244:'=':从'__int64''到'int'的转换,可能会丢失数据
knetfile.c(410):警告c4244:'=':从"插座"转换为'int',可能的数据丢失
knetfile.c(430):警告C4244:'初始化':从'int64_t'转换为'off_t',可能丢失数据
knetfile.c(520):错误c2036:'void *':未知大小
knetfile.c(537):警告C4244:'function':从'int64_t'转换为"长",可能的数据丢失
knetfile.c(544):警告c4244:'return':从'int64_t'转换为'off_t',可能丢失数据
knetfile.c(553):警告c4244:'return':从'int64_t'转换为'off_t',可能丢失数据
knetfile.c(565):警告c4244:'return':从'int64_t'转换为'off_t',可能丢失数据
我想,缺少一小部分宏或类型的宏可以清除这一点。有任何建议吗?
第一个错误
knetfile.c(189):错误c2036:'void *':未知大小
是正确的,代码是错误的。对标头文件的修补量不会改变您无法在void Pointers上进行指针算术的事实。
第五次错误
knetfile.c(335):错误c2143:语法错误:丢失';''在" const"
之前也是正确的。在C中,所有声明都必须在任何语句之前的块开始。可能会随着C99的变化,但是Microsoft编译器不支持C99。
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 为什么我在使用void函数时得到错误代码C2276
- 错误:在为指针赋值时,void值没有被忽略
- 如何在C++中使用 Void 而不会收到有关参数的错误
- QNX Momentics: GoogleMock - 返回有价值,在函数中返回 void 错误
- C++ 随机数生成器:尝试将结果作为向量获取,但通过制作 void 函数来执行此操作而出现错误
- 为什么在将 void 指针转换为整数指针时出现分段错误
- C++命名空间中调用 void 函数的错误
- 错误:"cast"未命名类型void setCastDescription(std::string
- 错误:对类型 'const ItemInstance' 的引用无法绑定到类型 'void' 的右值
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- 错误:从'void*'到'const uint8_t* {aka const unsigned char*}'的转换无效 [-允许]
- 查找素数:错误:控件到达非void函数的末尾
- 函数 LNK2019 "int __cdecl __scrt_common_main_seh(void)" 中引用的未解析外部符号主错误 (?__scrt_common_main_seh@@YAHXZ
- 错误:“void*”不是指向对象的指针类型
- 错误:void 值未被忽略,因为它应该被忽略,错误:返回语句具有值
- 带有lambda的sigc++给出错误:void值没有被忽略
- 错误:void值没有被忽略,因为它应该被忽略
- c++.错误:void不是指向对象的指针类型
- 为什么会出现这个错误?Void *不是指向对象类型的指针