DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  C++/C

上一页 1 2 3 4 5 6 ··· 47 下一页

摘要:存在程序main通过dlopen使用libA中的符号: main.c: 1 #include <stdio.h> 2 #include <dlfcn.h> 3 4 typedef void (*func)(void); 5 6 7 void test_main() 8 { 9 return;10 } 阅读全文
posted @ 2023-07-21 17:45 DoubleLi 阅读(193) 评论(0) 推荐(0) 编辑

摘要:引言 编译器是我们开发人员与机器指令之间的翻译,现在编译器越来越优化,而且基于一些开源的编译器项目(gcc,clang)等,相继出现不同platform下的编译器。此外,各种芯片、开发板层出不穷,各个商业公司都针对自己出产的开发板定制特定的编译链条。例如华为hisi系列的himix100中提供的编译 阅读全文
posted @ 2023-07-20 11:41 DoubleLi 阅读(260) 评论(0) 推荐(0) 编辑

摘要:omit-frame-pointer 开启该选项,主要是用于去掉所有函数SFP(Stack Frame Pointer)的,即在函数调用时不保存栈帧指针SFP,代价是不能通过backtrace进行调试根据堆栈信息了。通过去掉SFP,可以提高程序运行速度,达到优化程序的目的。如果要打开栈指针,使用 - 阅读全文
posted @ 2023-07-19 18:25 DoubleLi 阅读(562) 评论(0) 推荐(0) 编辑

摘要:rb report at bugs.python.orgWed Nov 26 10:13:39 CET 2008 Previous message: [New-bugs-announce] [issue4433] _ctypes.COMError crash Next message: [New-b 阅读全文
posted @ 2023-07-19 18:17 DoubleLi 阅读(26) 评论(0) 推荐(0) 编辑

摘要:cimporterrormakefilemodulepython-2.7 undefined symbol: PyExc_ImportError when embedding Python in C 我正在开发一个C共享库,该库可以调用python脚本。当我运行应用程序时,出现以下错误: 12345 阅读全文
posted @ 2023-07-19 18:14 DoubleLi 阅读(213) 评论(0) 推荐(0) 编辑

摘要:网上关于 target_link_libraries 中的 PRIVATE, PUBLIC , INTERFACE 的解释大部分是错的,而且不是一般的错,是胡说。 因为这三个属性在不同的命令中使用时意义不同,有很多是从target_include_libraries中抄来的。 以下的解释主要场景是l 阅读全文
posted @ 2023-07-19 15:24 DoubleLi 阅读(1353) 评论(0) 推荐(0) 编辑

摘要:#pragma pack 这条指令主要用作改变编译器的默认对齐方式。 pragma pack(show) //显示当前内存对齐的字节数,编辑器默认8字节对齐 #pragma pack(n) //设置编辑器按照n个字节对齐,n可以取值1,2,4,8,16 #pragma pack(push) //将当 阅读全文
posted @ 2023-07-10 18:54 DoubleLi 阅读(248) 评论(0) 推荐(1) 编辑

摘要:离奇的std::map、std::set崩溃 现象描述定位之路1、和windows调用比较,没发现任何问题2、修改cmakelists.txt,发现也没有什么可以改的,能改的怎么改结果都一样3、最笨的办法之一用上,写一段这样的代码:4、面向互联网大法编程,百度、微软必应(不FQ,不能狗狗),发现一个 阅读全文
posted @ 2023-07-10 17:58 DoubleLi 阅读(448) 评论(0) 推荐(0) 编辑

摘要:daemonizeMe // Copyright (c) 2017 Deep Aggarwal#include <getopt.h>#include <grp.h>#include <pwd.h>#include <stdlib.h>#include <syslog.h>#include <sys/ 阅读全文
posted @ 2023-06-12 15:56 DoubleLi 阅读(19) 评论(0) 推荐(0) 编辑

摘要:文章目录 一、如何采用Daemon进行后台程序的部署 1. 创建子进程 2. 终止父进程 3. 创建新的会话 4. 改变当前工作目录 5. 重设文件权限掩码 6.关闭不需要的文件描述 二. 代码示例 一、如何采用Daemon进行后台程序的部署 在C++中,如果要让一个程序一直在后台运行并且和终端会话 阅读全文
posted @ 2023-06-12 15:09 DoubleLi 阅读(62) 评论(0) 推荐(0) 编辑

摘要:无论是在windows还是linux下我们都可以借助popen执行终端指令并获取到返回值。 /// 执行cmd指令并返回结果 string getCmdResult(const string &strCmd) { char buf[10240] = {0}; FILE *pf = NULL; if( 阅读全文
posted @ 2023-06-07 17:56 DoubleLi 阅读(1316) 评论(0) 推荐(0) 编辑

摘要:工作的时候遇到一个问题,需要把一个存储二进制网络流的buff转化为一个字符串进行存储。在网上搜了半天看到的方法都比较复杂。在这里介绍一种自己认为比较简便的方法。 二进制网络流一般都是unsigned char类型。跟char的区别在于读取的方式不同,但是存储的位数并没有什么不同。假设unsigned 阅读全文
posted @ 2023-06-07 17:27 DoubleLi 阅读(1240) 评论(0) 推荐(0) 编辑

摘要:本文章向大家介绍[C/C++知识点] 数字后面加U/L/F的含义,主要包括[C/C++知识点] 数字后面加U/L/F的含义使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。 一、引言 写代码的时候往往需要定义许多常量,如int num=5等等,这个数字5显 阅读全文
posted @ 2023-06-06 17:44 DoubleLi 阅读(1912) 评论(0) 推荐(1) 编辑

摘要:今天是客户要求的最后期限,可突然发现一种操作方式下,程序会很容出现线程大面积卡住。 程序开了数十个线程,每个都会ping一个ip。 于是有人说是线程太多,有人说是发包太多,还有说是usleep会导致卡死。 gdb连接上卡死的程序: gdb main pid info threads发现确实很多程序处 阅读全文
posted @ 2023-05-31 16:51 DoubleLi 阅读(296) 评论(0) 推荐(0) 编辑

摘要:写一个延迟函数,usleep是延迟函数有时导致线程阻塞会因为有定时器终止的信号(SIGALRM)产生时会一些未定义的情况,建议少用,我们目前都换成了select替代,具体代码如下 void Msleep(unsigned int MilliSecond) { struct timeval time; 阅读全文
posted @ 2023-05-31 16:42 DoubleLi 阅读(161) 评论(0) 推荐(0) 编辑

摘要:#include<iostream> #undef NDEBUG #include<cassert> using namespace std; int main() { assert(1==2 ); cout<<"here"<<endl; } 输出 Assertion failed: 1==2, f 阅读全文
posted @ 2023-05-19 17:30 DoubleLi 阅读(222) 评论(0) 推荐(0) 编辑

摘要:进程内存布局 我们写程序运行栈的栈帧保存在栈区,函数调用深度太多将导致爆栈栈的大小有上限,每个进程可以指定软上限,操作系统可指定硬上限 linux查看栈上限方法 linux可以通过ulimit命令查看栈上限和设置上限 ulimit -a 查看进程所有资源上限 ulimit -s xx 修改栈上限 也 阅读全文
posted @ 2023-04-21 16:48 DoubleLi 阅读(1141) 评论(0) 推荐(0) 编辑

摘要:有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误。这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小了,导致栈空间不够分配,出现错误。 查看linux默认栈空间的大小通过命令 ulimit -s 查看 阅读全文
posted @ 2023-04-21 16:45 DoubleLi 阅读(476) 评论(0) 推荐(0) 编辑

摘要:同样的代码程序: 主程序中释放了一块在 动态库(*.dll)或共享库(*.so) 中分配的内存, Windows 将会出现程序崩溃,而 Linux 则正常运行。 在 linux 下,每个进程只有一个 heap , 在任何一个共享库模块 *.so 中通过 new 或者 malloc 来分配内存的时候都 阅读全文
posted @ 2023-04-21 14:19 DoubleLi 阅读(219) 评论(0) 推荐(0) 编辑

摘要:前言 对于 C 语言来说,内存被踩是比较常见的问题,轻则普通变量被改写程序逻辑出错,重则指针变量被改写引发指针解引用出现未定义行为风险; 定位内存被踩一直是棘手的难题,如果出现程序跑死,一般可以通过堆栈信息来定位:1)查看跑死的调用链,确定跑死代码的位置;2)根据pc指针找到具体代码;3)走查代码分 阅读全文
posted @ 2023-04-19 18:00 DoubleLi 阅读(1539) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 47 下一页
点击右上角即可分享
微信分享提示