草庐IT

树形结构

全部标签

c - Linux (gcc) 和 Windows (mingw32 gcc) 之间具有不同位域的结构大小

类似的问题,但特定于打包结构:WhywouldthesizeofapackedstructurebedifferentonLinuxandWindowswhenusinggcc?我正在为Linux和Windows构建一个共享库,它需要通过网络连接处理结构良好的数据。我在Linux上使用gcc4.8.2,并使用i686-pc-mingw32-gcc4.8.1为Windows目标交叉编译。我制作了这个小程序来演示这个问题(请注意GCC属性已被注释掉,保留它们以供引用):#include#include#includetypedefuint16_tword_t;typedefenum//__

c++ - MFC,OPENFILENAME 结构 : m_ofn. lpstrCustomFilter

我只是想弄清楚如何在MFC的CFileDialog中使用m_ofn.lpstrCustomFilter。内部结构是一个OPENFILENAME。我需要一个实际的例子,因为我找到的所有例子都将lpstrCustomFilter设置为NULL。 最佳答案 根据OPENFILENAME文档:lpstrCustomFilterType:LPTSTRAstaticbufferthatcontainsapairofnull-terminatedfilterstringsforpreservingthefilterpatternchosenbyt

c - 将字符串分配给结构中的 char*

也许我今天起得太久了,但我不明白为什么会这样:intmain(){structemf_struct{longnum;char*str;doublereal;};structemf_structemf[10];emf[1].real=4.5;emf[1].str="Thisisastring";emf[1].num=1234567890;printf("%d-%s-%f\n",emf[1].num,emf[1].str,emf[1].real);return(0);}在Microsoft下编译时(只是cl文件名),输出为:1234567890-这是一个字符串-4.500000如果结构使用

windows - 列出具有文件大小的给定结构中的所有文件夹和子文件夹

我正在尝试列出光盘的文件夹结构和每个文件夹的大小。我已经了解了文件夹结构,现在我只需要输出每个文件夹的大小。根据https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/dir没有用于显示文件大小的标志-只是隐藏它。我猜我在这里走错了路,但感谢您的帮助。这是我到目前为止所得到的:dir/s/b/o:n/a:d>"C:\folderlist.txt"预期输出:C:\WINDOWS\system32\downlevel400mbC:\WINDOWS\system32\drivers100

c - getaddrinfo 何时返回列表中的多个 sockaddr 结构?

我正在处理我找到的一些代码,我试图理解其中的for循环逻辑。似乎没有使用for循环,它总是会中断。所以我不明白从getaddrinfo()返回什么样的信息会导致它再次循环并检查某些东西?问题:基本上,这个for循环试图完成什么?在我看来,它只是检查列表是否不为NULL,因为从来没有发生循环。tcp_ctx*tcp_new_ctx(INTfamily,CHAR*host,CHAR*port){structaddrinfo*list=NULL;structaddrinfo*e=NULL;structaddrinfohints;tcp_ctx*c=NULL;WSADATAwsa;INTon=

c++ - 在给定 _EXCEPTION_POINTERS 结构的情况下,如何获取导致结构化异常的模块名称? (win32 C++)

(Win32平台c++)使用__try和__finally,如何获取异常原因的模块名称(和地址)?我调用了GetExceptionInformation()但我不确定这些信息在哪里。鉴于在线和MSDN中的其他资源,Minidump处理程序和其他示例代码似乎能够获得它,但我不确定如何获得它。感谢任何引用资料或更具启发性的资源。 最佳答案 EXCEPTION_POINTERS提供的EXCEPTION_RECORD记录包含异常发生的地址。然后,您可能可以使用EnumProcessModules()和GetModuleInformation

Windows 与 Linux 上的 Python 目录结构

我正在Windows上编写一个Python脚本,它需要在RedHatLinux机器上运行。在Windows上,os.path.abspath(os.curdir)返回类似的内容C:\Users\Me\...\CurrentDirectory没有尾随\.我无法在Linux上运行它,但据我所知它更像是/home/Me/.../CurrentDirectory随着斜杠的反方向,我不确定尾随/。首先,有没有?其次,我该如何处理这个问题?该脚本不必同时在Windows和Linux上运行,最终只能在Linux上运行。虽然我只能在Windows上测试它:( 最佳答案

windows - 如何递归复制目录结构并仅复制底层中的文件(Windows Batch)

我的目录结构是这样的;folder1folder2(thousandsoffolderslikethis)folder3someImage.jpegsomeDoc.docfolder4(optionalfolder)someImage.jpegsomeDoc.doc我希望脚本复制包含文件夹4s的文件夹2s,保持文件夹结构,但只复制文件夹4中的文件。像这样;folder1folder2(thousandsoffolderslikethis)folder3folder4(optionalfolder)someImage.jpegsomeDoc.doc我有一个简单的for循环,它可以识别包含

c - 为什么我的结构元素带有填充字节?

我对结构元素的内存对齐有一个令人困惑的行为。考虑这两种结构:typedefstructs_inner{unsignedlongul1;doubledbl1;fourth_structs4;unsignedlongul2;inti1;}t_inner;typedefstructs_outer{other_structmember1;/*4-bytealigned,40bytesintermsofsizeof()*/unsignedlongmember2;t_innermember3;/*seeabove*/}t_outer;当我检查t_outer的内存布局时,我可以看到member1的元

c - 为什么内存对齐会在结构内发生变化?

在previousquestion中,我learned当一个具有8字节对齐的结构嵌入另一个具有4字节对齐的结构时,需要在8字节对齐的结构之前进行填充。明白了。至少我认为我理解了。VS2012docs说:Forstructures,unions,andarrays,thealignment-requirementisthelargestalignment-requirementofitsmembers.所以,如果我有这样的结构:typedefstructs_inner{unsignedlongul1;doubledbl1;fourth_structs4;unsignedlongul2;i