c++相关内容

什么是 C++ 的最佳开放 XML 解析器?

我正在寻找一个简单、干净、正确的 XML 解析器以在我的 C++ 项目中使用.我应该自己写吗? 解决方案 RapidXML?RapidXML 是一个用 C++ 编写的非常快速和小型的 XML DOM 解析器.它主要针对嵌入式环境、计算机游戏或任何其他需要可用内存或 CPU 处理能力的应用程序.RapidXML 在 Boost 软件许可下获得许可,其源代码可免费获得. 功能 解析 ..
发布时间:2021-12-03 14:00:48 C/C++开发

命令行中缺少 DSO

我正在尝试编译这样的 C++ 程序: $ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap 但是我收到以下错误: /usr/bin/ld:/tmp/cct6xeXD.o: 未定义的符号引用'pthread_join@@GLIBC_2.4'//lib/arm-linux-gn ..
发布时间:2021-12-03 13:49:14 C/C++开发

Ubuntu 11.10 上的 C 和 C++ 编程

我最近安装了 Ubuntu 11.10 和 CodeBlocks IDE,我知道我默认有 gcc 和 std 库. 我的问题是: 对于 Ubuntu 上的新 C++ 程序员,您有什么建议吗? 我应该从一开始就获得哪些库? 我缺少一个非常好的 IDE?(YMMV 但我更喜欢在 IDE 中工作) 从一开始我就应该注意哪些编程方面的好处或陷阱? 解决方案 您不需要 IDE 即可 ..
发布时间:2021-12-03 13:48:31 服务器开发

在 Linux C++ 应用程序中查找和读取大文件

我使用 G++ 中的标准 ftell 和 fseek 选项遇到整数溢出问题,但我想我错了,因为 ftell64em> 和 fseek64 不可用.我一直在搜索,许多网站似乎都使用 lseek 和 off64_t 数据类型来引用,但我没有找到任何引用等于 fseek 的示例.现在我正在阅读的文件是 16GB+ CSV 文件,预计至少是两倍. 在没有任何外部库的情况下,实现与 fseek/fte ..
发布时间:2021-12-03 13:48:14 C/C++开发

在 Windows 和 Linux 上编译 C++:ifdef 开关

我想在 Linux 和 Windows 上运行一些 C++ 代码.有一些代码片段我只想包含在一个操作系统中,而不包含在另一个操作系统中.是否有一个标准的 #ifdef 曾经可以使用? 类似于: #ifdef LINUX_KEY_WORD...//linux 代码放在这里.#elif WINDOWS_KEY_WORD...//windows 代码放在这里.#别的#error“不支持操作系统 ..
发布时间:2021-12-03 13:45:47 C/C++开发

如何提高pthreads中的线程优先级?

我在 Linux 中使用 pthread.我想通过设置参数sched_pa​​ram.priority 来增加线程优先级.但是,我在网上找不到很多关于我可以设置的线程优先级范围的信息,或者关于线程优先级的描述. 另外,我想知道相对线程优先级,因为我不想将线程优先级设置得太高而导致操作系统停止.有人可以帮我解决这个问题吗? 解决方案 默认的 Linux 调度策略是 SCHED_OTHE ..
发布时间:2021-12-03 13:41:03 C/C++开发

使用 C/C++ (GCC/G++) 在 Linux 中的套接字编程中发送和接收文件

我想使用能够发送和接收文件的套接字和 C/C++ 语言来实现在 Linux 上运行的客户端-服务器架构.是否有任何库可以简化此任务?谁能提供一个例子? 解决方案 最便携的解决方案就是分块读取文件,然后循环将数据写入套接字(同样,另一种方式)在接收文件时左右).你分配一个缓冲区,read该缓冲区,以及 write缓冲到您的套接字中(您也可以使用 send 和 recv,它们是特定于套接字的写 ..
发布时间:2021-12-03 13:40:48 C/C++开发

C++ 标准库和 Boehm 垃圾收集器

我想在带有 GCC 的 Linux/AMD64/Debian 上开发一个多线程 C++ 应用程序(最终大部分 C++ 代码将由应用程序本身生成,这可以被视为一种高级域特定语言)4.6(可能还有最新的 C++11 标准). 我真的想对我的所有堆使用 Boehm 的保守垃圾收集器分配,因为我想用 new(GC) 分配,而从不关心 delete.我假设 Boehm 的 GC 运行良好. 使用 ..
发布时间:2021-12-03 13:37:31 服务器开发

你如何找到你的 linux 机器上安装了哪个版本的 libstdc++ 库?

我找到了以下命令:strings/usr/lib/libstdc++.so.6 |grep GLIBC 来自 ​​这里.它似乎有效,但这是一种临时/启发式方法. 有没有具体的命令可以查询C++的库版本?还是我找到的方法被接受了? 解决方案 要查找正在使用的库,您可以运行 $/sbin/ldconfig -p |grep stdc++libstdc++.so.6 (libc6) = ..
发布时间:2021-12-03 13:34:34 服务器开发

如何在 C 或 C++ 中创建单实例应用程序

为了创建单实例应用程序,以便一次只允许运行一个进程,您有什么建议?文件锁,互斥锁还是什么? 解决方案 一个好方法是: #include #include int pid_file = open("/var/run/whatever.pid", O_CREAT | O_RDWR, 0666);int rc = flock(pid_file, LOCK_EX | LOCK_NB);如果(RC ..
发布时间:2021-12-03 13:34:15 服务器开发

在 Linux 上使用 kbhit() 和 getch()

在 Windows 上,我有以下代码可以在不中断循环的情况下查找输入: #include #include #include int main(){而(真){如果 (_kbhit()){如果(_getch()=='g'){std::cout ..
发布时间:2021-12-03 13:30:21 C/C++开发

C++:我应该使用什么正则表达式库?

我正在开发一个在基于 linux 的系统上运行的商业(非开源)C++ 项目.我需要在 C++ 代码中做一些正则表达式.(我知道:我现在有两个问题.) 问题:经常使用 C/C++ 进行正则表达式的人推荐我研究哪些库?快速搜索引起了我的注意: 1) Boost.Regex(我需要阅读 Boost 软件许可证,但这个问题与软件许可证无关) 2) C(非 C++)POSIX 正则表达式( ..
发布时间:2021-12-03 13:28:32 C/C++开发

Linux:使用管道标准输入/标准输出执行子进程

使用 Linux 和 C++,我想要一个执行以下操作的函数: string f(string s){string r = system(“foo 显然上述方法行不通,但您明白了.我有一个字符串 s,我想将它作为应用程序“foo"的子进程执行的标准输入传递,然后我想将其标准输出记录到字符串 r 然后返回. 我应该使用哪种 Linux 系统调用或 POSIX 函数组合?我使用的是 Linu ..
发布时间:2021-12-03 13:20:55 C/C++开发

VS Code 不会使用多个 .ccp 源文件构建 C++ 程序

请注意,我在 Ubuntu 17.10 上使用 VS Code 并使用 GCC 编译器. 我在构建一个使用其他 .ccp 文件的简单程序时遇到问题.我可能在这里遗漏了一些明显的东西,因为我对编程还很陌生,但我会解释到目前为止我做了什么.这是阻止我继续我正在做的教程的事情. 我写了一个非常简单的程序来证明我的观点如下. main.ccp #include #include "Ca ..
发布时间:2021-12-03 13:20:37 C/C++开发

使用 C++ 和 Linux 的高分辨率计时器?

在 Windows 下,有一些方便的函数,例如 mmsystem.h 中的 QueryPerformanceCounter,可以创建高分辨率计时器.Linux 有没有类似的东西? 解决方案 之前在这里询问过 -- 但基本上,您可以使用 boost ptime 函数,或者可以用于基本相同目的的 POSIX clock_gettime() 函数. ..
发布时间:2021-12-03 13:20:28 C/C++开发

从 C++ 代码调用 C 函数

我有一个 C 函数,我想从 C++ 调用它.我不能使用 "extern "C" void foo()" 这种方法,因为 C 函数无法使用 g++ 编译.但它使用 gcc 编译得很好.任何想法如何从 C++ 调用函数? 解决方案 像这样编译 C 代码: gcc -c -o somecode.o somecode.c 然后是这样的C++代码: g++ -c -o othercode.o ..
发布时间:2021-12-03 13:18:14 C/C++开发

从 Windows 到 Linux 的 C++ 交叉编译器

是否有任何用户友好的工具可以从 Windows 交叉编译到 Linux? 解决方案 crosstool-ng 支持使用 cygwin 主机构建交叉编译器. 概述: 使用开发包安装 cygwin 下载crosstool-ng 解压压缩包 (tar xvjf crosstool-ng*) 运行./configure 当 configure 提示缺少工具时,返回 cygwin ..
发布时间:2021-12-03 13:13:54 服务器开发

如何在 C++/Linux 中创建目录树?

我想要一种在 C++/Linux 中创建多个目录的简单方法. 比如我想在目录下保存一个文件lola.file: /tmp/a/b/c 但如果目录不存在,我希望它们自动创建.一个工作示例将是完美的. 解决方案 Easy with Boost.Filesystem: create_directories #include //...boost::filesystem::create ..
发布时间:2021-12-03 13:08:38 C/C++开发

如何使用 C++ 在运行时获取内存使用情况?

我需要在程序运行时获取内存使用情况 VIRT 和 RES 并显示它们. 到目前为止我尝试过的: getrusage (http://linux.die.net/man/2/getrusage) int who = RUSAGE_SELF;struct rusage 用法;int ret;ret=getrusage(who,&usage);cout 但我总是得到0. 解决方案 ..
发布时间:2021-12-03 13:04:44 C/C++开发