草庐IT

function_unix-timestamp

全部标签

c++ - 如何在主进程和线程之间使用 Unix 管道?

每当信号从线程到达主进程时,我都试图通过管道传输数据。这可能吗?如何做到这一点?问题:子线程读取数据并将其放入队列。主应用程序做自己的事情,但是,当队列中有可用数据时,线程应通知它并开始处理数据(主线程可以访问队列)。这个场景应该如何实现? 最佳答案 是的,它可以通过管道。第一步调用pipe得到一个管道:#includeintmain(...){intfileDescriptors[2];pipe(fileDescriptors);第2步将fileDescriptors[0]传递给主进程,并将fileDescriptors1到线程。

c++ - 如何监视哪些进程访问 Unix 中的特定文件?

我有一个文件,很多进程(和进程线程)正在访问它。我想监控文件以获取所有进程试图访问该文件的列表。能够记录时间戳对于日志记录也非常有用,尽管我可以没有它。是否有任何Unix实用程序可以执行类似的操作?如果不存在这样的实用程序,我应该如何使用脚本(shell、Perl)或程序(C、C++)对此进行编程? 最佳答案 在Linux下,inotify可能正是您要找的。 关于c++-如何监视哪些进程访问Unix中的特定文件?,我们在StackOverflow上找到一个类似的问题:

c++ - 为什么我会收到编译错误 "use of deleted function ' std::unique_ptr ...”

我收到一个巨大的编译错误信息c:\mingw\include\c++\6.1.0\bits\predefined_ops.h:123:18:error:useofdeletedfunction'std::unique_ptr::unique_ptr(conststd::unique_ptr&)[with_Tp=Deduction;_Dp=std::default_delete]'{returnbool(_M_comp(*__it1,*__it2));}当我将自定义比较器传递给STLset_difference函数时。我的代码:structValue{std::stringded_cod

c++ - 如何在 Unix/Linux 中创建软件包?

我们如何创建一个软件包,以便提取我们的软件后tarball用户可以做典型步骤?$gunzip 最佳答案 CMake是难以理解的GNU/Autools的替代品。http://www.cmake.org/cmake/help/examples.html例如KDE正在使用它。 关于c++-如何在Unix/Linux中创建软件包?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/57297

C++ - 派生类中的 "Member function not declared"

我在MSVC++2008中遇到问题,其中VS2008抛出此编译错误:errorC2509:'render':memberfunctionnotdeclaredin'PlayerSpriteKasua'现在,令我困惑的是render()已定义,但在继承的类中。类定义是这样的:SpriteBase-InheritedBy->PlayerSpriteBase-InheritedBy->PlayerSpriteKasua因此,SpriteBase.h的简化版本如下:classSpriteBase{public://Variables===============================

c++ - 如何使 C++11 函数采用 function<> 参数自动接受 lambdas

C++11有lambda和std::function,但不幸的是,它们有不同的类型。一个结果是不能直接在高阶函数中使用lambda,例如lisp中的map。例如,在下面的代码中#include#includeusingnamespacestd;templatevectormap(std::functionf,vectorarr){vectorres;for(inti=0;ia={1,2,3};map([](intx)->int{returnx;},a);//notOKautoid_l=[](intx)->int{returnx;};map(id_l,a);//notOK;functio

c++ - 在 UNIX 系统上调用 sleep(0) 有什么影响?

我看到人们在我使用的高度多线程、多进程的应用程序系统的某些部分中这样做。它似乎是围绕调试行完成的:std::cerr如果我退出sleep(0);(即将其更改为“”),系统的调试输出似乎以不同的顺序出现(不可预测),所以我认为它使该行更快出现-但我认为std::cerr是无缓冲的,而std::endl无论如何都会调用std::flush(),那为什么会这样呢? 最佳答案 基本上,它会将控制权交还给调度程序,并让您立即重新安排。也就是说,这基本上是一种试图欺骗操作系统做某事的黑客行为。愚弄操作系统绝不是一个好主意。如果系统适本地欠载,那

C++ 错误 LNK2001 : unresolved external symbol function _main

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?我正在学习C++,但在我的项目中遇到编译问题。我已经阅读了大量标题上有此错误的帖子,但我找不到问题出在哪里。我的Main函数中有一个方法调用是导致错误的原因。每当我评论该项目编译完美的行。代码如下:main.cpp#pragmaonce#include"stdafx.h"#include#include#include#include#include#include"N

c++ - boost 日志 : How to prevent the output will be duplicated to all added streams when it uses the add_file_log() function?

我使用add_file_log()函数来初始化一个日志接收器,它将日志记录存储到一个文本文件中。当我定义多个接收器时,我观察到:为每个接收器创建一个文件。输出被复制到所有文件。这是我的记录器:classlogger{public:logger(constlogger&)=delete;logger(logger&&)=delete;logger&operator=(constlogger&)=delete;logger&operator=(logger&&)=delete;staticlogger&get_instance(conststd::string&file,boolconso

c++ - 哪个更合适 : getters and setters or functions?

如果替代函数名称使API更明显,是否应该放弃getter和setter的“getMyValue()”和“setMyValue()”模式?例如,假设我在C++中有这个类:publicclassSomeClass{private:boolmIsVisible;public:voiddraw();voiderase();}我可以像这样添加函数来获取/设置“mIsVisible”:boolgetVisible(){returnmIsVisible;};voidsetVisible(boolvisible){if(!mIsVisible&&visible){draw();}elseif(mIsV