草庐IT

BOOST_TRIVIAL_LOG

全部标签

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个单独的文件加载分支对我来说会更快。 最佳答案

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

windows - git log --grep 在 Windows 中不起作用

"gitlog--grep="STRING"在windows中是否有任何等价物?我已经为linux编写了一个python程序,它需要读取包含来自git对象的特定字符串的提交日志。这在Linux中运行良好,但当我在Windows中运行相同的程序时,gitlog--grep="STRING"什么也没捕获。这是代码片段。(fetcher.py)importos...os.chdir(DIRECTORY)#wheregitobjiscommand="gitlog--all--grep='KEYWORD'>log.txt"os.system(command)#runthecommandinthe

c++ - 在 Windows 中使用 Boost asio 重新连接套接字

我在连接到另一个端点后将套接字连接到端点时遇到问题。情况是这样的:a)boost::asio::ip::tcp::socket连接到远程主机(比如pop.remote1.com).b)传输结束,socket关闭:socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both,error);socket_.close(error);然后,当尝试使用与a)中相同的过程连接到另一台主机(例如pop.remote2.com)时,该过程无错误返回,但是套接字保持关闭状态。请注意,当使用pop.remote2.com作为第一个连接时,一切正

c++ - 使用 log4cplus 运行代码时出现 bad_alloc 错误

我一直在尝试在我的PC上运行这个log4cplus示例:http://log4cplus.sourceforge.net/loglevel.html我使用VS2010创建了我的LogLevel项目,我使用的是log4cplusv1.1.0。我的程序编译正常,但是当我执行这一行时Loggerlogger=Logger::getInstance(LOG4CPLUS_TEXT("main"));我收到以下错误:Unhandledexceptionat0x75d5d3cfinLogLevel.exe:MicrosoftC++exception:std::bad_allocatmemoryloc

windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)

我试图在代码块12.11上构建并运行boost.log库。我没有boost和boost.log的经验,想学习它,所以,首先我需要安装它。安装Boost首先,我遵循howtoinstallboostusingcodeblocks上的步骤结果在两台不同的计算机上(都有Windows7),我在%mypath%\boost\lib中得到了不同的文件列表(一台电脑只有6个文件,另一台52个)更大的列表是:libboost_chrono-mgw47-mt-1_52.a公司libboost_chrono-mgw47-mt-d-1_52.a公司libboost_date_时间-mgw47-mt-1_5

c++ - 如何在Visual Studio 2010中使用Boost

关于如何在VisualStudio中的空项目中使用Boost库的逐步说明,有什么很好的解释? 最佳答案 尽管Nate'sanswer已经相当不错了,但我将根据要求针对VisualStudio2010对其进行更具体的扩展,并在需要外部库的各种可选组件中包括有关编译的信息。如果您仅使用header库,那么您要做的就是取消存档boost下载并设置环境变量。下面的说明仅为VisualStudio设置环境变量,而不是整个系统。请注意,您只需要做一次。将最新版本的boost(截至撰写时为1.47.0)解压缩到您选择的目录中(例如C:\boost

java - 环境 :CATALINA_BASE not resolving in Tomcat 8. 0/log4j

我在Windows上的Tomcat8.0中有一个相对简单的log4j配置在我的开发机器上,文件名被解析并且日志被适本地创建。在我的部署机器上,如果我将行更改为硬编码路径,我会收到一条错误消息,指出它无法创建名为${env:CATALINA_BASE}/logs/pidashboard.log的文件CATALINA_BASE解析到的,日志被正确创建。这些都是Tomcat的普通安装,所以我不确定是什么导致了差异。我的开发机器运行的是Windows10,我的生产机器运行的是WindowsServer2008,但我不认为这会影响这个特定场景。 最佳答案

java - Log4j RollingFileAppender 在 Linux 上滚动,但在 Windows 上不滚动

我正在为我的Java应用程序设置一个标准的logrotate风格的Log4j记录器。为此,我有几个RollingFileAppender(一个用于项目的每个“子单元”)输出到应用程序文件夹中的日志文件。在滚动到100MB之前,我已经设置了大小限制。在Linux上,这非常有效,日志在达到100MB后滚动。但是,在Windows上,日志文件只会不断增长,不会滚动更新。我已阅读thisStackoverflowpost同一JVM(或多个JVM)上的多个Java应用程序使用相同的日志文件将导致Log4j翻转失败,因为多个进程的文件描述符打开到该文件-但在我的情况下,这显然不是问题,因为我正在使