草庐IT

data-header

全部标签

c++ - 使用 GetModuleHandle 获取指向 IMAGE_DOS_HEADER 的指针?

一旦我的进程加载到内存中,我就试图获取它的图像库。据我了解,您可以调用GetModuleHandle来获取图像库。我的问题是,返回的句柄是否实质上指向IMAGE_DOS_HEADER结构,以便您可以执行以下操作:PIMAGE_DOS_HEADERDosHeader;DosHeader=(PIMAGE_DOS_HEADER)GetModuleHandle(NULL);如果这不正确,您还可以使用什么其他方法? 最佳答案 这是正确的,但如果您想要dll的模块句柄,则需要指定其路径。否则,您将获得进程exe的句柄。您还应该首先检查返回的HM

C 试图在 header 中查找\r\n\r\n

我试图找到最后一次出现的\r\n\r\n并删除它之前的所有内容(包括它)。我正在创建一个套接字并下载一个文件,然后该文件将被保存。HTTPheader保存在文件中(并且根据十六进制编辑器\r\n\r\n确实存在)。但我似乎无法使用strstr找到它,根据MSDNrecv返回char所以它应该能够找到它?while((tmpres=recv(sock,buf,BUFSIZ,0))>0){char*p=strstr(buf,"\r\n\r\n");printf("%s",p);exit(1);if(fwrite(buf,1,tmpres,fp)!=tmpres){printf("Error

c++ - 这两种包含相同 header 的方式在编译器中是否发生了不同的事情?

是否:#include#include#include#include#include"FileX.h"编译同一个头文件:#include#include#include#include#include在第一种情况下,windows.h是另一个文件(仍然包含在最后)。这两种包含相同header的方式在编译器中是否发生了不同? 最佳答案 在我的世界里,“FileX.h”定义如下#error"Thisisdifferentfromwindows.h,asitcontainsan#error!"#include所以是的,在这种情况下,“编

c++ - 在使用 NT DDK 构建的用户模式程序中包含 C++ header

所以...我有一个内核模式组件和一个用户模式组件,我正在使用NTDDK7.1.0的交key构建环境放在一起。.内核组件都是.c/.h/.rc文件。用户模式组件是.cpp/.c/.h/.rc文件。起初,对两者都使用build似乎是最简单的,因为我看到您可以修改./sources用户模式组件的文件说这样的话:TARGETNAME=MyUserModeComponentTARGETTYPE=PROGRAMUMTYPE=windowsUMENTRY=winmainUSE_MSVCRT=1这似乎没有引起问题,所以我很高兴,直到我尝试#include(或或其他)找不到那个东西:errorC1083

windows - 索引E :\data using batch file下的所有文件和文件夹

我想编写一个批处理脚本,生成一个CSV或JSON文件,其中包含E:\data下的所有文件和文件夹。我需要存储的信息是(文件或文件夹名称、大小、类型--文件或文件夹、完整位置路径)。任何帮助将不胜感激。谢谢。 最佳答案 PowerShell可以轻松做到这一点。必须添加一个小子表达式来给出关于它是文件夹还是文件的友好术语。否则,我们可以摆脱整个@{l=...}位,只使用PSIsContainer,如果它是一个文件夹,它将是True/False。Get-ChildItemE:\Data-recurse|SelectName,Length,

c++ - 如果 header 包含在另一个 header 中但不包含在 cpp 中,则静态断言

我有一个c++库,它使用windows.h中的一些函数,还有一个实用程序头文件,它定义了一些奇怪的windows类型到标准c++的转换。我想知道是否有办法断言实用程序是否包含在另一个header中。这个想法是只将实用程序包含到.cpp文件中,这样我们就不会用windows.h和windows类型以及与之相关的问题污染代码库的其余部分包括那个(最小/最大等)。 最佳答案 检查windows.h的headerguard是否用#ifdefblock定义。#ifdef_WINDOWS_static_assert(false,"Don'tin

python - pyodbc 无法连接到数据库,但 IBM Data Studio 使用相同的凭证连接

我正在尝试连接到IBM机器上的数据库,我可以通过IBM桌面客户端“IBMDataStudio”正常连接。但是,当我尝试连接pyodbc时,它无法连接。我收到了一系列错误,但似乎主要响应如下pyodbc.OperationalError:('08001',u'[08001][Microsoft][ODBCSQLServerDriver][TCP/IPSockets]SQLServerdoesnotexistoraccessdenied.(17)(SQLDriverConnect);[08001][Microsoft][ODBCSQLServerDriver][TCP/IPSockets]

c++ - 在不同项目(没有编译时链接)中使用的 header 中声明的纯抽象 C++ 类是否共享相同的虚拟表模型?

我有一个C++头文件声明了一个仅由纯虚方法组成的类。我有两个使用该header的DLL(其中一个实现该接口(interface))但在编译时未链接。一个DLL正在动态加载另一个,将已实现接口(interface)的指针传递给另一个。这些DLL是否共享相同的虚拟表结构? 最佳答案 当然,类头足以构建完整的类(这里说的是内存中的布局,一切都是如何定位的,而不是里面的实际数据),包括精确的虚拟表结构。想一想,每个链接对象(您的.cpp文件)都是单独编译的,只有头文件是共同的,但在编译时,编译器必须知道虚拟表的精确结构才能正确路由虚拟调用。

windows - FILE_WRITE_DATA 和 FILE_APPEND_DATA 之间的区别

我想使用CreateFile()打开一个文件进行写入。如果文件存在,我会将文件指针设置到末尾,然后使用WriteFile()写入数据。如果它不存在,我会写在文件的开头。我应该在CreateFile()的dwDesiredAccess参数中使用FILE_APPEND_DATA还是应该使用FILE_WRITE_DATA或者FILE_WRITE_DATA|FILE_APPEND_DATA?最后的写法不也是写法,为什么会有FILE_APPEND_DATA? 最佳答案 whyisthereFILE_APPEND_DATA?FILE_APPEN

windows - Windows 中的 FTP 命令挂起并显示 "150 Opening data channel for file download from server of ..."

我在WindowsServer2012机器上有一个FTP服务器,我正在尝试从中获取setup.exe。CMD.EXE日志:C:\>ftp1.2.3.4Connectedto1.2.3.4.220-FileZillaServerversion0.9.45beta220-writtenbyTimKosse(tim.kosse@filezilla-project.org)220Pleasevisithttp://sourceforge.net/projects/filezilla/User(1.2.3.4:(none)):my_username331Passwordrequiredformy