Articles of c + +

如何检查一个文件是否存在c

我有核心文件生成与附加到其名称的PID或有时只有名称的核心。 我需要检查一个文件是否以名称core.pid或core存在。 我已经尝试使用stat() ,我使用pathstring作为/tmp/core* ,但失败。 你能不能让我知道如何解决这个问题。谢谢你的时间。

自动工具语法错误与ax_check_compile_flag

我正在使用autotools来构build我的C ++应用程序。 在我的configure.ac中,我有以下行: AX_CHECK_COMPILE_FLAG([-Wall], [CPPFLAGS="$CPPFLAGS -Wall"]) 这在执行./configure时会导致以下错误(在运行autoreconf -i之后 ): ./configure: line 3825: syntax error near unexpected token `-Wall,' ./configure: line 3825: `AX_CHECK_COMPILE_FLAG(-Wall, CPPFLAGS="$CPPFLAGS -Wall")' 我的系统: Linuxnetworking3.2.0-4-amd64#1 SMP Debian 3.2.65-1 + deb7u2 x86_64 GNU / Linux 在我的Ubuntu机器上,它运作良好,为什么我得到这个错误?

具有multithreadingcurl请求的Segfault

我在这里遇到了一些C ++程序的麻烦。 基本上我已经为http请求写了一个简单的包装,可以一次执行多个请求。 工作绝对好,但是当我做httpS请求时,它在multithreading模式下随机崩溃。 我使用curl和posix线程。 Backtrace看起来像这样: ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7fea9046d996] /lib/x86_64-linux-gnu/libc.so.6(+0x82b80)[0x7fea9046fb80] /lib/x86_64-linux-gnu/libc.so.6(realloc+0xf2)[0x7fea90470ae2] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(CRYPTO_realloc+0x49)[0x7fea8f9c6169] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(lh_insert+0x101)[0x7fea8fa4bfb1] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(+0xe844e)[0x7fea8fa4e44e] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_get_state+0xde)[0x7fea8fa4eeee] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_clear_error+0x15)[0x7fea8fa4f065] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x24e79)[0x7fea90f10e79] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x39ea0)[0x7fea90f25ea0] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0xf8fd)[0x7fea90efb8fd] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x219f5)[0x7fea90f0d9f5] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x35538)[0x7fea90f21538] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_multi_perform+0x91)[0x7fea90f21d31] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_easy_perform+0x107)[0x7fea90f19457] ./exbot[0x40273a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f6e)[0x7fea90cd6f6e] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fea904e79cd] 这可能是libcrypto中的一个错误? 我可以不知何故告诉curl不要使用libcrypto? 任何替代品? 它只使用httpS请求来启动文件,并且即使10000个同时http查询也能正常工作。 干杯,托马斯 只是为了完整我的代码: // simple wrapper for http requests #ifndef _REQUEST_H_ #define _REQUEST_H_ #include <curl/curl.h> #include <pthread.h> #include <string> #include <iostream> ////////////////////////////////// // MACROS ////////////////////////////////// […]

Vivado_hls 2014.4 Ubuntu 14.04 x64包含错误

我在Ubuntu 14.04 x64上运行Vivado HLS 2014.4(x64)。 一切工作在Vivado HLS 2012. Vivado HLS 2014.4 GUI和综合工作,但编译testing平台不。 我得到了这样的数千个错误: Building file: /home/nic30/vivado/tb_axis_test.cpp Invoking: GCC C++ Compiler g++ -DAESL_TB -D__llvm__ -D__kernel -D__global -Dglobal -Dlocal -D__local -Dconstant -D__constant -Dprivate -D__private -D__private -I/opt/Xilinx/Vivado_HLS/2014.4/include/ap_sysc -I/opt/Xilinx/Vivado_HLS/2014.4/lnx64/tools/systemc/include -I/home/nic30/vivado -I/opt/Xilinx/Vivado_HLS/2014.4/include -I/opt/Xilinx/Vivado_HLS/2014.4/lnx64/tools/auto_cc/include -I/opt/Xilinx/Vivado_HLS/2014.4/include/etc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"testbench/tb_axis_test.d" -MT"testbench/tb_axis_test.d" -o "testbench/tb_axis_test.o" "/home/nic30/vivado/tb_axis_test.cpp" In file included from […]

我怎么能暂停,然后恢复呼叫`睡眠`

调用sleep(10)意味着睡眠指定的秒数。 当我input“睡眠10”时,我想等待10秒钟,但是当我在睡眠命令之后立即使用CTRL-Z(或发送SIGTSTP )时,它不会停止“定时器”(或计数器),即使进程已经停止。 我可以通过jobs看到sleep已经改变为STOPPED但是如果我等待10秒,然后将这个过程发送到前台,它将立即完成 ,即使它运行的时间less于10秒。 所以,我的问题是如何停止睡眠定时器运行? 更新 ::我现在明白,睡眠是使用挂钟时间,所以我怎么能用一个用户cpu时间来实现睡眠

在linux下用mingw32交叉编译链接libcurl for Windows

我已经使用mingw32编译了libcurl,并试图用我的Linux机器上的mingw32作为Windows系统的程序来链接它。 我输出的文件是libcurl-4.dll libcurl.a libcurl.la libcurl.lai。 我已经将它们包含在我的mingw32 libs文件夹中:/ usr / x86_64-w64-mingw32 / lib 我能够find一些与libstdc ++和libgcc链接的其他主题,以便在执行时关注依赖性错误,但是当尝试添加libcurl.a时,它不会编译期间。 我使用了以下内容: $ x86_64-w64-mingw32-g++ main.cpp -o hello.exe -static-libgcc -static-libstdc++ -static "/usr/x86_64-w64-mingw32/lib/libcurl.a" -lpthread 但是,我不能得到它使用libcurl.a,并继续收到这些错误。 /tmp/ccIceRus.o:main.cpp:(.text+0xde): undefined reference to `__imp_curl_easy_init' /tmp/ccIceRus.o:main.cpp:(.text+0x106): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x122): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x13e): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x159): undefined reference to `__imp_curl_easy_setopt' /tmp/ccIceRus.o:main.cpp:(.text+0x169): undefined reference to […]

处理C只读文件closures错误

我正在做一些基本的文件读取使用打开,读取和closures(文件打开访问模式O_RDONLY)。 当closures文件的时候,我想不出一个好办法来处理可能的文件closures错误,以确保文件closures正确。 有什么build议么?

如何在Linux上写虚拟摄像头?

我想从一个真实的networking摄像头捕捉video,使用openCv应用filter,并将过滤后的video写入虚拟摄像头,在networking上进行stream式传输。 我没有第一个2分的问题,但我不知道如何在虚拟摄像头上写字。 这是可能的? 我该怎么做? 我在Debian上使用openCv和C ++ 。 谢谢

这两个函数有什么区别:`ioremap_uc()`和`set_memory_uc`?

当我想将内存区域标记为Write Combined(禁用可caching和使用BIU)或者通过设置PAT(页面属性表 – PIT中的7bit)不可caching时,那么我必须使用什么,以及这两个函数之间有什么区别? 驱动程序应该使用ioremap_[uc|wc]访问具有[uc | wc]访问types的PCI BAR: void __iomem * ioremap_wc(resource_size_t phys_addr,unsigned long size) 驱动程序应该使用set_memory_[uc|wc]设置RAM范围的访问types: int set_memory_uc(unsigned long addr,int numpages) 取自: http : //lwn.net/Articles/278994/ 为什么我不能使用PCI BAR和RAM范围的单一function? 说明: ioremap_uc()获取物理地址和返回虚拟地址设置不可caching,与set_memory_uc()获得虚拟地址,并设置这些页面的Uncacheable? 这些代码是否相同? void* virt_ptr = ioremap_uc(phys_ptr, size); 和 void* virt_ptr = ioremap(phys_ptr, size); const int page_size = 4096; set_memory_uc(virt_ptr, size/page_size);

dynamic添加条目到sysctl

考虑这个代码: int procmon_state = 0; static struct ctl_table_header *procmon_table_header; static ctl_table state_table[] = { { .procname = "state", .mode = 0666, .proc_handler = &proc_dointvec_minmax, .data = &procmon_state, .maxlen = sizeof(int), .extra1 = "\x00\x00\x00\x00" /*0*/, .extra2 = "\x01\x00\x00\x00" /*1*/ }, { 0 } }; static ctl_table procmon_table[] = { { .procname = "procmon", .mode = 0555, […]