C/C++
柳鲲鹏
建立了编程学(编程基本功、平台化编程)、六石管理学等几个流派。
每涉及一个领域,都是顶级砖家。在这些领域中,如果遇到问题,最后肯定是搜索到本博客。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LINUX:检查当前进程内存占用的C代码
LINUX:检查当前进程内存占用的C代码原创 2026-01-07 11:04:53 · 402 阅读 · 0 评论 -
关于#pragma pack(push, 8),DeepSeek回答错误
关于#pragma pack(push, 8),DeepSeek回答错误原创 2026-01-04 14:08:29 · 130 阅读 · 0 评论 -
C语言函数体内部,使用void是什么意思?
C语言函数体内部,使用void是什么意思?原创 2025-12-31 13:57:51 · 100 阅读 · 0 评论 -
C++使用成员函数作为入口函数,启动线程
C++使用成员函数,启动线程原创 2025-11-05 11:33:45 · 119 阅读 · 0 评论 -
OpenCV防抖功能容易导致线程冲突
程序调试遭遇两次诡异线程冲突:防抖功能在高通板上必现视频卡死,但在虚拟机正常;开发初期测试无异常,次日无法运行。另一冲突导致视频流获取失败,历史问题曾通过烧录解决,但再次烧录后仍失败,最终通过简化代码验证功能正常。现象表明线程安全问题具有设备相关性和不稳定性,可能与底层硬件调度机制有关。原创 2025-11-05 10:03:46 · 152 阅读 · 0 评论 -
error: uint8_t/int32_t was not declared in this scope
error: uint8_t/int32_t was not declared in this scope原创 2025-10-27 16:29:09 · 154 阅读 · 0 评论 -
UBUNTU编译gdb报错:build-gnulib/import/unistd.h:135:3: error: #error “Please include config.h first.“
UBUNTU编译gdb报错:#include "common/common-defs.h"原创 2025-10-23 17:13:01 · 117 阅读 · 0 评论 -
Unknown CMake command “pkg_check_modules“.
Unknown CMake command "pkg_check_modules".原创 2025-10-22 14:50:46 · 159 阅读 · 0 评论 -
C语言获得网络IP、掩码mask、广播broadcast
C语言获得网络IP、掩码mask、广播broadcast原创 2025-10-13 15:37:15 · 155 阅读 · 0 评论 -
cmake构建时指定安装路径
cmake构建时指定安装路径原创 2025-10-09 17:14:05 · 458 阅读 · 0 评论 -
库、编译器有一个错误:undefined reference to `stat64@GLIBC_2.33‘
库、编译器有一个错误:undefined reference to `stat64@GLIBC_2.33'原创 2025-10-09 16:00:58 · 278 阅读 · 0 评论 -
交叉编译:strip: Unable to recognise the format of the input file xx.c.o
交叉编译:strip: Unable to recognise the format of the input file xx.c.o原创 2025-10-09 10:25:10 · 184 阅读 · 0 评论 -
检查glibc/libc.so支持哪些版本
检查glibc/libc.so支持哪些版本原创 2025-09-30 14:40:57 · 416 阅读 · 0 评论 -
高通移远平台:导出交叉编译工具链
高通移远平台:导出交叉编译工具链原创 2025-09-30 10:27:18 · 177 阅读 · 0 评论 -
cmake编译时,通过命令行传递宏定义参数
cmake编译时,通过命令行传递宏定义参数原创 2025-09-29 16:24:29 · 185 阅读 · 0 评论 -
warning: __VA_ARGS__ can only appear in the expansion of a C++11 variadic macro 19 | )
warning: __VA_ARGS__ can only appear in the expansion of a C++11 variadic macro 19 | )原创 2025-09-29 09:13:52 · 174 阅读 · 0 评论 -
嵌入式交叉编译:iniparser
嵌入式交叉编译:iniparser原创 2025-09-24 09:35:37 · 213 阅读 · 0 评论 -
CMake/CMakeLists.txt中集成pkgconfig查找.pc文件
CMake/CMakeLists.txt中集成pkgconfig查找.pc文件原创 2025-09-22 13:18:38 · 246 阅读 · 0 评论 -
std::__detail::_List_node_base::_M_unhook
我只用到erase(),前后还加了锁,每次只删除一个。_M_unhook:顾名思义,该函数的作用是将某个节点从链表中卸下。网上搜索,说是erase()在多线程条件下会崩溃,我是有加锁的。使用了vector,结果崩溃了。一气之下,换用list。原创 2025-01-06 10:23:41 · 348 阅读 · 0 评论 -
gcc编译时去掉警告
【代码】gcc编译时去掉警告。原创 2024-12-22 16:33:07 · 250 阅读 · 0 评论 -
gcc编译时undefined reference to的一种情形
【代码】gcc编译时undefined reference to的一种情形。原创 2024-12-19 16:19:08 · 151 阅读 · 0 评论 -
C++输出一个对象的类名
【代码】C++输出类名。原创 2024-11-14 18:03:09 · 257 阅读 · 0 评论 -
/usr/bin/ld: /lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command
编译时试图链接/lib/x86_64-linux-gnu/libstdc++.so.6,结果发现有问题。说明要换用gcc的。原创 2024-11-05 11:31:28 · 420 阅读 · 0 评论 -
C++子类如何重载、重越父类同名函数
当你在子类加了一个与父类同名函数,然后信心满满的调用,结果发现调用的还是父类。再次运行,是不是就正确了?父类可以实现这个函数。原创 2024-10-22 18:36:03 · 350 阅读 · 0 评论 -
std::shared_ptr转换为其他类型
本来好好的用指针,现在多了个shared_ptr,转换为其他类型,就不能直接转了。如果类型不匹配,结果为NULL。不检查类型,出错了你负责。原创 2024-08-08 10:35:23 · 504 阅读 · 0 评论 -
msgget()=-1, errno 2(No such file or directory).
这几天发现程序工作异常。如果是开机启动,就出错;如果是手工启动,就正常。原因也简单,就是负责创建的进程,还没有正式工作。原创 2024-07-19 10:35:28 · 338 阅读 · 0 评论 -
遭遇字节对齐导致的错误一例
由于系统不支持UTF8中文,所以改成了wchar_t。我看了一下字幕,0、2、4不显示,1、2、3显示。后来猜测到是字节对齐问题。0行有两个字节被占用了。原因找到了,就有办法解决。原创 2024-04-29 09:02:05 · 343 阅读 · 0 评论 -
使用swprintf代替sprintf,格式化wchar_t
swprintf和sprintf最大区别,就是swprintf要加个长度限制。原创 2024-04-19 11:19:04 · 750 阅读 · 0 评论 -
When specifying an out-of-tree source a binary directory must be explicitly specified.
真有牛人提供了解决办法。原创 2024-01-31 08:55:32 · 841 阅读 · 1 评论 -
给编译好的so修改rpath为当前路径
这几天调整安装,发现有些文件安装到/lib下。就想复制到安装目录,这样影响更少。然后发现rpaht有问题。修改为当前路径最好。在编译的时候,大多使用$ORIGIN。因为$有特殊含义,所以这里进行了转义。可以看到由编译的绝对路径,变成了相对路径。.或者$ORIGIN。原创 2024-01-23 11:36:12 · 1249 阅读 · 0 评论 -
CMake为rpath设置相对路径
【代码】CMake为rpath设置相对路径。原创 2024-01-23 08:52:52 · 1737 阅读 · 0 评论 -
为什么跟踪崩溃时,经常死在sleep?
上周跟踪崩溃,结论非常奇怪,似乎死在sleep。sleep是正宗系统函数,这个也动不动崩溃,那系统每分钟都要死几次。所以肯定与sleep无关。也就是说,代码在sleep,其他部分还在工作,导致崩溃。那么为什么看起来死在sleep上?原创 2024-01-22 09:01:37 · 494 阅读 · 0 评论 -
Could NOT find Threads (missing: Threads_FOUND)
【代码】Could NOT find Threads (missing: Threads_FOUND)原创 2024-01-15 09:03:01 · 1849 阅读 · 0 评论 -
CMake Error at CMakeLists.txt:14 (project): The CMAKE_CXX_COMPILER:
解压后,再配置一下PATH。原创 2024-01-14 08:57:30 · 1224 阅读 · 0 评论 -
把应用转为LINUX服务失败,两个奇怪错误
经过定位,确认是memcpy(dst, src, strlen(str))这一句出错。这src是产生线程时的参数。我直接把src赋值,就没问题。应用经常崩溃,于是就想转为服务,让系统帮忙重启。这个事情当然信心满满,咱之前做过,最近也刚刚实验过。systemctl start weiyu,然后就卡死在这里。甚至我把main基本清理干净了,还是卡死。目前只能放弃,以后有机会再深入研究。我另外的一个测试程序就完全正常。原创 2024-01-12 09:01:49 · 443 阅读 · 0 评论 -
使用线程初始化某工作的思路
这几天接手代码之后,添加了柳氏风格的LOG。昨天检查LOG的时候,发现有的设备会初始化多次。于是研究了代码,使用的是线程初始化,如果中途断线还要一直初始化。仔细想想,这个思路有点问题。怎样确保当前只有一个初始化的工作?指针为NULL,时间大于1,指定间隔后再次初始化。指针为NULL,时间为1,正在初始化;指针不为NULL,表示正常;原创 2024-01-11 09:03:09 · 411 阅读 · 0 评论 -
C/C++去掉预定义宏__FILE__路径,只保留文件名的办法
试了一下__FILE_NAME__这个宏不能用,怎么办?特意加了括号,保证是个独立体。原创 2024-01-10 13:50:13 · 855 阅读 · 0 评论 -
Ubuntu上cJSON下载编译
【代码】Ubuntu上cJSON下载编译。原创 2023-12-18 16:32:20 · 1010 阅读 · 0 评论 -
error: overloaded function with no contextual type information
这一套代码也是久经考验,一直能用,怎么就报错了?destroy与别的重复。原创 2023-12-09 08:22:18 · 757 阅读 · 0 评论 -
pthread_join造成卡死
最近在调试摄像头APP时,发现拔下摄像头时,会卡死。网上搜索了一番,说是在使用之前,使用pthread_detach操作即可。正好看到有人更新了库,其中明确说是解决卡死问题。我对于这个线程问题,一时也有点糊涂,以后专门研究看看。更新代码后试了一下,有所改善。具体有没有解决,存疑。试了之后,并无效果。原创 2023-11-24 11:15:45 · 1255 阅读 · 5 评论
分享