小编Vla*_*lad的帖子

确定文件是否为目录,在 zip 存档内

我根据规范读取 zip 文件,并从中央目录获取每个文件的信息。从我读到的标题:

#define VERSION_NEEDED_OFSSET 6

UINT16 versionNeeded = (UINT16)*(zipFile + VERSION_NEEDED_OFSSET);
Run Code Online (Sandbox Code Playgroud)

所以我压缩了一些文件,还有一些目录,当我得到关于目录的信息时,我得到了 versionNeeded = 0x000a

从我阅读的文档中:

提取文件所需的最低支持 ZIP 规范版本,映射如上。该值基于 ZIP 程序必须支持的特定格式功能才能提取文件。如果多个功能应用于一个文件,则必须将最低版本设置为具有最高值的功能。将使用比上次发布的值更高的版本号来实现影响已发布格式规范的新功能或功能更改,以避免冲突。

4.4.3.2 当前最低功能版本定义如下:

1.0 - 默认值

1.1 - 文件是卷标

2.0 - 文件是一个文件夹(目录)

但是用于确定文件类型的 zip 标头部分是什么?我看不到文档中负责文件类型的任何类型或位。

c zip header

5
推荐指数
1
解决办法
267
查看次数

NtDll是否真的导出C运行时函数,我可以在我的应用程序中使用它们吗?

我一直在寻找我的Windows 10计算机上的NTDLL出口表,我发现它出口标准的C运行时功能,如memcpy,sprintf,strlen,等.

这是否意味着我可以在运行时通过LoadLibrary和动态调用它们GetProcAddress?每个Windows版本都能保证这种情况吗?

如果是这样,可以完全删除C运行时库(通过使用NtDll中的CRT函数),从而使我的程序更小?

c windows winapi crt ntdll

2
推荐指数
1
解决办法
1111
查看次数

标签 统计

c ×2

crt ×1

header ×1

ntdll ×1

winapi ×1

windows ×1

zip ×1