c++
linux_vae
本人除了技术还是技术,专攻linux,学习方向嵌入式。深入学习过linux内核代码。
展开
-
ERROR at //build/config/BUILDCONFIG.gn:401:1: Unknown function.
BUILDCONFIG.gn:401:1: Unknown function.原创 2022-06-15 19:42:06 · 1979 阅读 · 2 评论 -
c++ 命令
g++ -M -I . duotai.c 查看引用的头文件g++ main.c && nm a.out |c++filt 查看导出的接口符号原创 2018-03-05 19:59:25 · 556 阅读 · 0 评论 -
为什么c++不支持模板的分离式编译
http://blog.csdn.net/pongba/article/details/19130首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件(假定我们的平台是win32),后者拥有PE(Portable Executable,即w...转载 2018-03-05 19:25:16 · 186 阅读 · 0 评论 -
c++ RVO 和 NRVO
在查看std::move是否有必要在return localvar 中使用的时候,查看到了RVO和NRVO,因为std::move总是会调用移动构造函数所以会增加一次构造。关于RVO和NRVORVO (return value optimization) 和NRVO (named return value optimization) 是C++在处理 “返回一个class object的函数” 时常...原创 2018-02-25 16:24:24 · 1022 阅读 · 1 评论 -
gcc 内置函数-效率
在打印日志的时候,用到__FILE_,会显示绝对路径。使用strrchr()来单独分割出文件名。因为strrchr是gcc的内置函数。对于解析gcc的内置宏,完全可以在编译时期就生成结果。如果我们使用变量传入strrchr来处理就不会调用内置函数,而是当作普通的标准库函数使用,必然影响效率class SourceFile { public: template<int...原创 2018-02-24 18:25:10 · 559 阅读 · 0 评论 -
SysAdmim 必备:系统性能大牛 Brendan Gregg 分享的 Linux 性能工具
Brendan Gregg 目前是 Netflix 的高级性能架构师 ,他在那里做大规模计算机性能设计、分析和调优。他是《Systems Performance》等技术书的作者,因在系统管理员方面的成绩,获得过 2013年 USENIX LISA 大奖。他之前是 SUN 公司是性能领头人和内核工程师,他在 SUN 开发过 ZFS L2ARC,研究存储和网络性能。他也发明和开发过一大波性能分析工具,...转载 2018-02-24 14:23:28 · 633 阅读 · 0 评论 -
计算机网络:这是一份全面 & 详细 的TCP协议攻略
前言计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略今天,我将详细讲解计算机网络中最重要的TCP协议,含其特点、三次握手、四次挥手、无差错传输等知识,希望你们会喜欢。阅读本文前,请先了解计算机网络基础知识:献上一份全面 & 详细的计算机网络基础 学习指南目录1. 定义Transmission Control Protocol,即 传输控制协议属于 传输层通信协议基于TCP的应用层协议...转载 2018-03-02 09:59:35 · 528 阅读 · 0 评论 -
TCP Socket: shutdown VS close
shoutshwn 半断开 close读写都关闭tcp断开的三个等待 发送fin后的等待ack ack后等待对方发送fin,返回ack ack后等待2ms,确保对方已经接收ackshutdown & close Muduo TcpConnection 没有提供 close,而只提供 shutdown ,这么做是为了收发数据的完整性。 TCP 是一个全双工协议,同一个文件描...转载 2018-02-27 10:08:35 · 398 阅读 · 0 评论 -
share_ptr 与enable_shared_from_this
enable_shared_from_this,是一个以其派生类为模板类型实参的基础模板,继承它,this指针就能变成shared_ptr。什么时候该使用enable_shared_from_this模板类 在看下面的例子之前,简单说下使用背景,单有一个类,某个函数需要返回当前对象的指针,我们返回的是shared_ptr,为什么使用智能指针呢,这是因为:当我们使用智能指针管理资源时,...原创 2018-02-27 09:47:31 · 323 阅读 · 0 评论 -
linux 写时拷贝
string的写时拷贝:linux fork 时候的写时拷贝 :http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html 方案三class String{ private: char* _str; int* _refCou转载 2018-02-06 14:18:24 · 279 阅读 · 0 评论 -
C++11之右值引用(二):右值引用与移动语义
上节我们提出了右值引用,可以用来区分右值,那么这有什么用处? 问题来源 我们先看一个C++中被人诟病已久的问题:我把某文件的内容读取到vector中,用函数如何封装?大部分人的做法是:void readFile(const string &filename, vector<string> &words){ words.clear(); //read X...转载 2018-02-26 16:05:22 · 211 阅读 · 0 评论 -
C++11之右值引用(一):从左值右值到右值引用
C++98中规定了左值和右值的概念,但是一般程序员不需要理解的过于深入,因为对于C++98,左值和右值的划分一般用处不大,但是到了C++11,它的重要性开始显现出来。C++98标准明确规定:左值是可以取得内存地址的变量。非左值即为右值。从这里可以看出,可以执行&取地址的就是左值,其他的就是右值。这里需要明确一点,能否被赋值不是区分C++左值和右值的区别。我们给出四个表达式:string o...转载 2018-02-26 16:04:15 · 201 阅读 · 0 评论 -
linux 查看线程或cpu
在arm嵌入式中不能通过top -H -p pid 来查看cpu。所以我们通过查看/proc/pid/task/tid/stat 的信息和/proc/stat 中的信息来计算cpu#!/bin/shecho '$1 threads cpu'for tid in `ls /proc/$1/task/`do tm=`cat /proc/$1/task/$tid/stat |awk原创 2017-12-12 19:15:41 · 743 阅读 · 0 评论 -
windbg 使用python寻找寄存器的值
1.推荐一个插件blwdbgue.dll 用来标记相同地址或者寄存器安装pykd,具体可以参照其他博客上次写到利用非挥发性寄存器寻找一些参数或者变量:windbg 调试bug因为每个函数调用修改非挥发性寄存器都会push和pop,所以我们利用python来找到那个帧里面修改了寄存器。from pykd import *from sys import argvkbn=dbgCommand('kbn'原创 2017-08-24 17:14:05 · 1089 阅读 · 0 评论 -
windbg 调试bug
跳过前面的基础配置和pdb加载。认为你基本的调试都会第一步:找出崩溃的线程一般崩溃弹出对话框截取的dump都会以主线程为显示。所以要找出崩溃的线程,~*kbn #查看所有进程,排除在等待的线程,一般某个线程在执行最后在执行某个函数时最有可能~69s #切换当前线程根据崩溃的地方找到代码,及出错的相关数据:bool ff_video_callback_frame(struct ff_frame*fra寄存器 查看数据原创 2017-07-20 19:26:37 · 634 阅读 · 0 评论 -
系统资源管理工具
系统资源管理工具2.1 系统资源管理工具 54 2.1.1 虚拟地址清除工具——Vadump 54 2.1.2 内存清理工具——Clearmem 55 2.1.3 内存监视工具——Memmonitor 56 2.1.4 内存快照抓取工具——Memsnap 58 2.1.5 内存泄漏检测工具——Poolmon 60 2.1.6 资源泄漏处理工具——Memtriage 63 2.1.7 监原创 2017-04-13 10:36:24 · 841 阅读 · 0 评论 -
结构体包含 std::list 未初始化问题
结构体包含 std::list 未初始化问题由于在编写C++代码时,用到std::list<> ,而喜欢用malloc来进行结构体分配内存出现的问题。struct play_list{ bool is_started; int g_operate_id; char *name; CRITICAL_SECTION play_operate_section;原创 2017-03-29 14:38:01 · 2559 阅读 · 0 评论