草庐IT

结构化剪枝

全部标签

c++ - C/C++ 中的非固定结构

我有一个名为TOWRITE的结构。我想将结构的内容写入文件。但有一件事是结构成员的大小是不固定的。这取决于从另一个来源接收到的数据。是否可以通过简单的方式编写结构。请引用下面的代码片段。谢谢typedefstructTOWRITE{DWORDdwHeader;WORDdatacount;LPBYTElpData;WORDchecksum;}TOWRITEtowrite;ZeroMemory(&towrite,sizeof(TOWRITE));towrite.lpData=(LPBYTE)newBYTE[256];towrite.dwHeader=0xF1F1E1E1;towrite.d

c++ - BITMAPINFO 结构的 bmiColors 字段

BITMAPINFO结构有如下声明typedefstructtagBITMAPINFO{BITMAPINFOHEADERbmiHeader;RGBQUADbmiColors[1];}BITMAPINFO;为什么RGBQUAD数组是静态的?为什么不是指针? 最佳答案 声明一个可变大小结构是一个标准技巧。颜色表永远不会只有一个条目,对于单色位图它至少有2个,对于8bpp位图通常有256个,等等。由bmiHeader.biClrUsed成员指示。所以结构的实际大小取决于位图格式。由于C语言不允许声明这样的数据结构,因此这是最接近的匹配。创

c - 使用未定义的结构编译错误 - C

编译器不知道stat.h在哪里?错误:c:\Projects\ADC_HCI\mongoose.c(745):错误C2079:“st”使用未定义的结构“_stat64”#include#includestaticintmg_stat(constchar*path,structmgstat*stp){struct_stat64st;//size=st.st_size;stp->mtime=st.st_mtime;stp->is_directory=S_ISDIR(st.st_mode);}else{ok=-1;}return(ok);}...直接从source下载文件.

c - c中的全局结构和多线程

谁能解释一下这段代码中的编译错误:#include"common.h"typedefstructnodeData{intprocid;unsignedshortlocalport;DWORDLIFETIME;DWORDHELLOTIMEOUT;DWORDMAXTIME;}nodeData;intlistenerThread(){if(!bindSocket(listenSocket,nodeData.localport)){closesocket(listenSocket);WSACleanup();exit(-1);}//morecodegoeshere}intmain(intarg

c++ - 如何从 ULONGLONG 毫秒创建 SYSTEMTIME 结构?

我不想使用WMI获取上次启动时间,而是想使用::GetSystemTime()和::GetTickCount64来计算它。但是一旦达到毫秒,我就不知道如何返回到FILETIME对象。我试过这个:staticULONGLONGFileTimeToMillis(constFILETIME&ft){ULARGE_INTEGERuli;uli.LowPart=ft.dwLowDateTime;//couldusememcpyhere!uli.HighPart=ft.dwHighDateTime;returnuli.QuadPart/10000;}staticvoidMillisToSystem

c++ - 将内存映射数据 block 读入结构

我今天一直在VC++2008上研究内存映射,但我仍然没有完全理解如何使用它或者它是否适合我的目的。我的目标是快速读取一个非常大的二进制文件。我有一个结构:typedefstruct_data{intnumber;charcharacter[512];float*entries;}Data;多次写入文件。“条目”变量是一个浮点小数数组。写入此文件后(10000个数据结构,每个“条目”数组为90000个float),我尝试使用以下函数内存映射此文件,以便我可以更快地读取数据。这是我到目前为止所拥有的:voidreadDataMmap(char*fname,//nameoffileconta

Windows 结构的 C++

我是Windows的C++开发新手..我正在尝试生成一个指向其他结构的结构...这怎么可能?structInitialNode{Node*nextNode;Node*lowerNode;}InitialNode;structNode{Node*nextNode;Node*lowerNode;intvalue;}Node;在InitialNode结构中突出显示了一个错误,其中Node*nextNode;和Node*lowerNode是..有什么想法吗?非常感谢:) 最佳答案 有几个错误:首先,我很确定您想要一个typedef。此外,您

c - 你怎么知道结构中的某些字段是数组?

我正在查看来自Microsoftwincrypt.h头文件的这段C代码//+-------------------------------------------------------------------------//Attributes////WheretheValue'sPATTR_BLOBsareintheirencodedrepresentation.//--------------------------------------------------------------------------//certenrolls_begin--CRYPT_ATTRIBUT

c++ - 如何在结构数组中自动初始化最后一项?

我将一个数组传递给一个函数,并用一些值对其进行全局初始化。我在数组末尾使用空字符串来确定数组长度。现在,有没有什么方法可以自动初始化数组,使其末尾有额外的空项,这样我就没有机会从那里忘记它了?就像char[]的工作原理一样,它会向末尾的IIRC添加额外的null。这是我现在使用的代码:structtwostrings{strings1,s2;};twostringsoptions[]={{"text1","moretext1"},{"text2","moretext2"},{"text3","moretext3"},{""},//tellsthatthearrayendshere}in

C++:如何优雅地将动态数据读入结构?

假设我将header存储在某个文件中,但header的某些部分是动态长度,看起来像这样:structHeaderTest{intsomeparam;intmore;intarrsize;//howbigarray,readarrsizeelementsintoarr:intarr[arrsize];//notvalid};是否有一些优雅的方法可以将动态数据读入结构? 最佳答案 您可以像这样定义您的结构,而不是在您的结构中使用arr和arrsize变量:structHeaderTest{intsomeparam;intmore;std