
C/C++
文章平均质量分 74
C/C++
ᴇʀɪᴄ ᴛᴇᴏ
什么都略懂一点,生活就会多彩一点。
展开
-
009 - 线程设置名字
线程设置名字有些情况下,多线程的话,需要给线程设置名字,方便调试。但是 C++11 虽说标准库就支持线程,但是并没有封装其他操作线程的方法,就很难受。话不多说,show code#include <thread>#ifdef WIN32#include <Windows.h>#include <processthreadsapi.h>#else#include <pthread.h>#endifvoid worker(){ s原创 2022-03-30 20:31:43 · 1330 阅读 · 0 评论 -
008 - 使用 gdb 和 gdbserver 远程调试
使用 gdb 和 gdbserver 远程调试 (未完成)文章目录使用 gdb 和 gdbserver 远程调试 (未完成)前言前言对于软件开发来说,调试程序是比不可少的。对于开发PC软件通常系统已经集成了调试工具(比如Linux系统的GDB),或者 IDE 直接支持对程序的调试。而对于开发嵌入式软件来说调试的手段比较有限,很多开发者仅有的调试手段依然是最原始的打印,我也是这样干的,但是这个生产效率可真是太低了。那有没有什么办法不使用打印调试呢?当然有!可以直接在板子上运行 gdb 调试,但是源码是原创 2022-03-30 20:31:01 · 229 阅读 · 0 评论 -
007 - Log4cplus 配置文件
Log4cplus 配置文件前言之前文章《log4cplus使用》中提到使用代码配置的不灵活,log4cplus 是 log4j 的 c++ 实现,那肯定也是能支持配置文件的。这里就简单来说说 log4cplus 配置文件的使用配置文件log.properties# 日志级别,FATAL, ERROR, WARN, INFO, DEBUG, TRACE,由高到低log4cplus.rootLogger=TRACE,console,file,errorFile# 控制台Appenderlog原创 2022-03-30 20:29:52 · 1194 阅读 · 0 评论 -
006 - log4cplus 使用
log4cplus 使用前言log4cplus 是 log4j 的 C++ 实现,提供的接口和使用逻辑与 log4j 基本保持一致;有 log4j 使用经验的人使用 log4cplus 是一件很愉快的事情。下载编译下载源码仓库地址 https://github.com/log4cplus/log4cplus编译安装依次执行以下语句tar xvf log4cplus-2.0.6.tar.xzcd log4cplus-2.0.6mkdir buildcd buildcmake ..ma原创 2022-03-30 20:29:08 · 1144 阅读 · 0 评论 -
004 - C++11 中的字面量
C++11 中的字面量引言也是看了 JSON for Modern C++ 的源码,发现它竟然可以直接通过以下代码直接生成 json 对象nlohmann::json json = R"({"Foo":"foo"})"_json;通过 IDE 跳转到定义,看到函数定义如下inline nlohmann::json operator "" _json(const char* s, std::size_t n){ return nlohmann::json::parse(s, s + n)原创 2021-06-04 14:19:52 · 276 阅读 · 0 评论 -
005 - C 可变参数宏
C 可变参数宏文章目录C 可变参数宏引言收集资料进入正题展开过程分析还有一句引言在看 JSON for Modern C++ 的源码时,看到有可变参数宏的使用,觉得这是个好东西,遂研究之。收集资料经过一番百度后,大概只能搜到以下用法#define PRINTF(...) printf(__VA_ARGS__)PRINTF("Foo %d Bar %d", 1, 2);或者这种用法#define ERROR(...) \fprintf(stderr, "File: %s, Line:原创 2021-06-04 14:18:42 · 295 阅读 · 0 评论 -
003 - C++ CSharp Java 调用 C++ DLL
C++ CSharp Java 调用 C++ DLL文章目录C++ CSharp Java 调用 C++ DLL导出C++ Dll在函数定义时候加extern "C" _declspec(dllexport)使用模块定义文件(.def)声明简单调用C++ DLLC++动态调用C#调用Java调用导出C++ DllC++编译器为VS201964为的Debug模式生成的无法调用(不知道具体原因)C++导出函数接口的方式主要有两种:_stdcall可以在项目属性 -> C/C++ -> 高原创 2021-06-04 14:17:18 · 438 阅读 · 0 评论 -
002 - CLion 远程开发
CLion 远程开发文章目录CLion 远程开发引言使用 GDB/gdbserverGDB Remote DebugRemote GDB Server完全远程模式参考链接引言不是所有目标机器都会有开发环境,或者说有些机器直接不支持安装开发环境,这个时候就需要远程调试了。但是远程调试 gdbserver 和 GDB 的命令又太多,记不住且工作效率低,所以需要借助一定的工具,幸好 CLion 就为远程调试提供了一系列的解决方案。使用 GDB/gdbserver如目标机器上不支持开发环境的话,GDB/g原创 2021-06-04 14:16:30 · 2309 阅读 · 1 评论 -
001 - Linux C/C++ 开发环境搭建
Linux C/C++ 开发环境搭建文章目录Linux C/C++ 开发环境搭建引言编译调试工具项目构建工具集成开发环境(IDE)Qt CreatorVisual Studio CodeCLion引言Windows 下 C/C++ 开发可以直接用宇宙第一 IDE Visual Studio;但是 Linux 下就不能用了以 Ubuntu 为例搭建 Linux C/C++ 开发环境编译调试工具编译器sudo apt updatesudo apt install gcc g++调试器sud原创 2021-06-03 16:56:00 · 23586 阅读 · 1 评论