草庐IT

boost_macro_reference

全部标签

c++ - 获取文件的完整路径给定其 "Reference Number"

我想使用Windows的更改日志来跟踪一些文件更改。我设法使用示例代码访问上述日志并从中读取记录。我现在面临的问题是记录只包含相关的文件名,而不是它的绝对路径。我尝试将FSCTL_GET_NTFS_FILE_RECORD与DeviceIoControl一起使用来检查我是否可以通过这种方式获得绝对路径,但是调用DeviceIoControl总是返回相同的文件记录,缓冲区中有“FILE0”,我给它的引用号没有它的HighPart(例如,我给出了0x001400000015adec的引用编号,当函数返回时,输出的引用编号为0x000000000015adec。这是我的代码(我在Windows

c++ boost计算函数花费的时间

再次问好一个boost问题:我需要计算在我的boost线程中我的函数花费的时间:这里是代码:boost::posix_time::microsecondstes(12);inti=0;while(true){boost::posix_time::ptimestart=boost::posix_time::microsec_clock::local_time();myFunction();boost::this_thread::sleep(tes);boost::posix_time::ptimeend=boost::posix_time::microsec_clock::local_t

c++ - 终止 boost 线程 (C++)

我有一个问题,我需要终止boost线程。并从主线程执行此操作。使用标志是不合适的。请帮我。我需要Windows解决方案。 最佳答案 请阅读thefollowingquestion的答案.尽管如此,如果您必须在Windows上终止线程,您可以这样做:TerminateThread(yourThread.native_handle()); 关于c++-终止boost线程(C++),我们在StackOverflow上找到一个类似的问题: https://stacko

Windows:Boost 和 CMake

我已经尝试了很长时间来找出问题,但我不能..所以我在这里,我很抱歉。一些信息:我的系统是Windows7,64位专业版,带有VisualStudio10和MinGW我使用以下方法编译了Boost(1.53.0):bootstrap.batmingw.\b2--prefix=C:\boosttoolset=gcc-j4link=shared.\b2--prefix=C:\boosttoolset=gcc-j4link=sharedinstall我的安装看起来像:C:\boostinclude\boost-1_53\boost--headerslib\--libraries,bothdll

c++ - 当同名文件夹已存在时,如何使用 boost 创建新文件夹?

我正在使用boost::filesystem创建一个空文件夹(在Windows中)。假设我要创建的文件夹的名称是新建文件夹。当我运行以下程序时,会按预期创建一个具有所需名称的新文件夹。当第二次运行程序时,我想创建新文件夹(2)。虽然这是一个不合理的期望,但这就是我想要实现的目标。有人可以指导我吗?#includeintmain(){boost::filesystem::pathdstFolder="NewFolder";boost::filesystem::create_directory(dstFolder);return0;}预期输出: 最佳答案

c++ - boost::filesystem::space() 报告错误的磁盘空间

我在驱动器C:上有430GB的空闲空间。但是对于这个程序:#include#includeintmain(){boost::filesystem::pathp("C:");std::size_tfreeSpace=boost::filesystem::space(p).free;std::cout输出是:2542768128Bytes2424MB2542768128Bytes2424MB2830102528Bytes2698MB我需要知道有多少磁盘空间可用,因为我的应用程序必须下载一个巨大的文件,我需要知道下载它是否可行。我在Windows上使用mingw:g++(i686-posix

c++ - 比 boost::file_mapping 更快的读取文件的方法?

我正在编写一个对延迟敏感的应用程序,它在初始化时读取文本文件。我分析并重写了我所有的算法,这样我85%的执行时间来自以下几行:boost::interprocess::file_mappingfile(Path,read_only);boost::interprocess::mapped_regiondata(file,read_only);我在Windows上写这篇文章-有没有更快的方法将文件映射到内存中?便携性不是问题。 最佳答案 您可以只使用Win32的native函数,但我认为您不会节省很多,因为boost不会增加很多开销:

c++ - 如何在不使用boost的情况下创建目录?

我想在与我的程序相同的路径中创建一个目录,最终将数据保存到。为此,我需要由预处理器分支包围的特定于操作系统的调用,但在此之前我从未编写过任何特定于操作系统的代码。我不确定我需要包含哪些header,或者要使用它们的哪些功能。如果操作系统是Windows、Mac和Linux(无论哪种方法都适用于大多数Linux发行版),我应该使用哪些函数和header?我不想为此使用boost文件系统的原因是,我整天都很难编译它;它的文档和构建系统,呃,对于我简单的灵魂来说似乎太学术/冗长了!最终,我相信维护3或4个单独的文件加载分支对我来说会更快。 最佳答案

C++ 图形用户界面教程 : undefined reference to TextOut

因此,在搜索了一些Win32GUI教程之后(我认为有关制作GUI的教程可能会让我更积极地制作C++应用程序,因此通常更擅长使用C++进行编程),我遇到了一个rohitab教程。我已经找到了两个部分。第1部分工作正常,我现在正在处理Part2,但是,我在Code::Blocks中遇到了这个错误:C:\Users\John\Documents\WindowsGUIs\first_gui.cpp||在函数'C:\Users\John\Documents\WindowsGUIs\first_gui.o:first_gui.cpp:(.text+0x281)||对“_TextOutA@20”的u

windows - 在 Windows 7 上使用 MinGW 编译 boost 之前如何构建 Boost.Build?

我正在运行Windows7EnterpriseSP1并尝试设置C++开发环境。我安装了MinGW,似乎可以自行正常工作。接下来,我需要安装boost……看来唯一好的选择是从源代码编译。(我没有看到任何官方Windows二进制文件。我发现了几个非官方的二进制文件,但它们往往比当前版本落后几个版本,而且不清楚它们是否得到维护。)所以我下载了tarball,解压它,从MinGW打开MSYSshell,转到tools/build/v2并运行bootstrap.sh-这失败了,bootstrap.log如下所示:######Using'gcc'toolset.###rm-rfbootstrapm