c++
nedwons
这人很懒,啥也不懂。
展开
-
repost:调试技巧——宏定义开关和printf
调试技巧——宏定义开关和printf printf 的宏定义版本前言: 我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所...转载 2018-08-01 09:57:31 · 155 阅读 · 0 评论 -
repost:一个极其简陋的C/C++日志工具
一个极其简陋的C/C++日志工具 总用printf来打日志的话,到后面删除起来太麻烦,所以自己写了几个函数来代替printf。其实也就是把printf包装了一下,然后利用宏根据编译选项是否含有-DDEBUG来判断是否把宏展开为功能代码。代码如下://log.h#ifndef LOG_H_INCLUDED#define LOG_H_INCLUDED#include <st...转载 2018-08-01 10:06:17 · 153 阅读 · 0 评论 -
C++定义宏LOG开关
参考资料,自己写个调试log的宏,方便打Log//personal debug switch////////////////////////////////////////////////////////// /********************************************************************************P_DE...原创 2018-08-01 14:27:38 · 2091 阅读 · 0 评论 -
repost:一个极其简陋的C/C++日志工具
一个极其简陋的C/C++日志工具 https://blog.csdn.net/imred/article/details/53114713总用printf来打日志的话,到后面删除起来太麻烦,所以自己写了几个函数来代替printf。其实也就是把printf包装了一下,然后利用宏根据编译选项是否含有-DDEBUG来判断是否把宏展开为功能代码。代码如下://log.h#ifndef ...转载 2018-08-02 09:00:09 · 197 阅读 · 0 评论 -
socketpair
今天跟人谈到socketpair的问题,晚上回来写了个程序验证下自己的猜测! 先说说我的理解:socketpair创建了一对无名的套接字描述符(只能在AF_UNIX域中使用),描述符存储于一个二元数组,eg. s[2] .这对套接字可以进行双工通信,每一个描述符既可以读也可以写。这个在同一个进程中也可以进行通信,向s[0]中写入,就可以从s[1]中读取(只能从s[1]中读取),也可以在...转载 2018-08-30 16:14:18 · 145 阅读 · 0 评论 -
C++标准注释原则 - 基于doxygen的C++注释
C++标准注释原则 - 基于doxygen的C++注释https://blog.csdn.net/czyt1988/article/details/8901191 标注总述下载国外的源代码,往往能看到附带的说明文档,文档都有详细的说明,大部分文档都可以通过doxygen这个跨平台软件生成,doxygen并不能随便读取你的C++的注释,必须按照一定的规则才能生成,所以在编写代码时,...转载 2018-08-20 21:21:08 · 2943 阅读 · 0 评论 -
#ifndef, #define, #endif 作用
#ifndef, #define, #endif 作用#ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条件编译。 在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,多个c文件包含同一个h文件也不会报...转载 2018-09-04 09:20:55 · 2943 阅读 · 0 评论 -
使用egypt+graphviz分析ffplay的函数调用关系图
使用egypt+graphviz分析ffplay的函数调用关系图 个人分类: ffmpeg 在《Ffplay视频播放流程》文章中我给出了一个ffplay的函数调用关系图,在分析代码上会有不小的帮助。那么本文就详细的描述如何从源码中一步步的得到我们想要的函数调用关系图。前置条件下载ffmpeg源码安装graphviz:sudo>http://www.gson.org/e...转载 2018-09-03 09:47:44 · 1002 阅读 · 0 评论 -
绘制函数调用图(call graph)(2):cflow + graphviz
绘制函数调用图(call graph)(2):cflow + graphviz call graph cflow graphviz 函数调用图 函数调用关系图 更多个人分类: call graph https://blog.csdn.net/benkaoya/article/details/79751000专栏导读本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序...转载 2018-09-03 09:58:37 · 590 阅读 · 0 评论 -
linux中fork()函数详解
linux中fork()函数详解(原创!!实例讲解)https://blog.csdn.net/jason314/article/details/5640969 一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可...转载 2018-09-03 11:52:07 · 143 阅读 · 0 评论 -
【c/c++】#pragma once 与 #ifndef 的区别解析
原文地址:http://blog.csdn.net/hkx1n/article/details/4313303 作用:为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef _...转载 2018-10-12 16:42:48 · 146 阅读 · 0 评论 -
adb logcat 带线程名和id
将以下3者结合,写一个Log宏,随便加随便打。如下://///////////////////////////////////////////////////////////////////////////////////personal debug switch////////////////////////////////////////////////////////// /**...原创 2018-10-12 17:06:00 · 4432 阅读 · 0 评论 -
线程相关函数(1)-pthread_create(), pthread_join(), pthread_exit(), pthread_cancel() 创建取消线程
线程相关函数(1)-pthread_create(), pthread_join(), pthread_exit(), pthread_cancel() 创建取消线程阅读目录一. pthread_create() 二.pthread_join() 三.pthread_exit() 四.pthread_cancel() 五.示例回到顶部一. pthread_create()...转载 2018-10-12 17:07:58 · 936 阅读 · 0 评论 -
Linux下获得进程id和进程名字
1. 通过进程名字得到进程id。pid_t getProcessPidbyName(char *name){ FILE *fptr; char *buf = new char[255]; char cmd[255] = {'\0'}; pid_t pid = -1; sprintf(cmd,"pidof %s",name); if((fptr ...转载 2018-10-12 18:09:07 · 1384 阅读 · 0 评论 -
Linux下用C++实现通过进程名称获取进程ID
Linux下用C++实现通过进程名称获取进程ID 个人分类: Linux 编程开发 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DeliaPu/article/details/81334833近期开发的系统功能涉及到进程之间的查询、进程对进程的启停操作。在shell环境下,使用进程名称查询进程ID非常简单,例如通过 ps -...转载 2018-10-12 19:09:51 · 5296 阅读 · 0 评论 -
linux中pid gid tgid tid的区别和联系
https://blog.csdn.net/techtitan/article/details/39134927getpid : 取得process id,对于thread,就是取得线程对应进程的id;对应的system call: asmlinkage long sys_getpid(void)1614 {1615 return current->t...转载 2018-10-12 22:33:40 · 1982 阅读 · 0 评论 -
gettid和pthread_self区别
gettid和pthread_self区别https://blog.csdn.net/rsyp2008/article/details/45150621个人分类: 任务与信号 1 线程ID获取方法linux下获取线程有两种方法:1)gettid或者类似gettid的方法 2)直接调用pthread_self()gettid 获取的是内核中线程ID,而pthread_s...转载 2018-10-13 01:56:56 · 298 阅读 · 0 评论 -
sscanf格式输出保留空格自定义留几个
//%[^&]int main(){ char buf1[512] = {0}; char buf2[512] = {0}; sscanf(" 123456 i mk dhhhd kkkk ","%[^\n]%s", buf1); sscanf(" 123456 I mk dhhhd kkkk ","%*s%10[^&]%s...原创 2018-10-13 01:48:08 · 2427 阅读 · 0 评论 -
logcat带线程名及id
https://blog.csdn.net/u012398613/article/details/52183708/https://blog.csdn.net/rsyp2008/article/details/45150621https://blog.csdn.net/dezhihuang/article/details/51260001https://blog.csdn.net/al...原创 2018-10-13 02:07:09 · 1573 阅读 · 0 评论 -
Linux 进程名/进程号PID互查
http://www.jb51.net/article/45012.htmLiunx中通过进程名查找进程PID可以通过 pidof [进程名] 来查找。反过来 ,相同通过PID查找进程名则没有相关命令。在linux根目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个以进程PID命名的文件夹,其中存放进程运行的N多信息。其中有一个status文件,...转载 2018-10-13 02:21:21 · 2027 阅读 · 0 评论 -
logheader.h
封装带线程名的log 头文件 /////////////////////////////////////////////////////////////////////////////////////personal debug switch////////////////////////////////////////////////////////// /***********...原创 2018-10-13 13:30:04 · 163 阅读 · 0 评论 -
C++去除字符串中多余的空格
今天写了个小编程,去除字符串中多余的空格,例如"I___am_____a______student."(下划线表示空格哈,打多个空格显示的还是一个),最后输出”I am a student.”现在把自己的思路贴上,欢迎大家留言指正。思路就是定义两个指针next和tail,一个在前面寻找非空格的字符,另外一个在后面一步一步移动,把后面的字符全部转移到前面来;然后为了去除多余的空格,也就是有多...转载 2018-10-13 13:53:12 · 5916 阅读 · 0 评论 -
类,构造函数
https://zhidao.baidu.com/question/1579776576882637420.html构造函数的方法名必须与类名相同。构造方法是一种特殊的方法,具有以下特点。(1)构造方法的方法名必须与类名相同。(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域...转载 2018-09-29 09:49:45 · 215 阅读 · 0 评论 -
c++ :auto
转载:http://towriting.com/blog/2013/08/08/improved-type-inference-in-cpp11/C++11引入了一些新的实用的类型推导能力,这意味着你可以花费更少的时间去写那些编译器已经知道的东西。当然有些时候你需要帮助编译器或者你的编程伙伴。但是C++11,你可以在一些乏味的东西上花更少的时间,而多去关注逻辑本身。auto之乐在C++...转载 2018-09-29 09:59:06 · 354 阅读 · 0 评论 -
linux c++多线程 线程私有数据 互斥量 条件变量 信号量 读写锁 自旋锁 屏障
https://www.cnblogs.com/mfrbuaa/p/3849433.htmlhttp://blog.jobbole.com/102538/https://blog.csdn.net/qq_35212671/article/details/53178852https://blog.csdn.net/YEYUANGEN/article/details/6793407ht...转载 2018-10-15 09:37:57 · 170 阅读 · 0 评论 -
获取线程名:自己封装prctl,或使用pthread_getname_np
prctl(PR_GET_NAME, tname);简单的封装:#include <sys/prctl.h>static char tname[16];static char* get_current_threadname(){ prctl(PR_GET_NAME, tname); return tname;}//#define P_LOGI(fmt...原创 2018-10-15 19:00:09 · 4434 阅读 · 0 评论 -
prctl()函数详解
int prctl ( int option,unsigned long arg2,unsigned long arg3,unsigned long arg4,unsigned long arg5 )这个系统调用指令是为进程制定而设计的,明确的选择取决于option:PR_GET_PDEATHSIG :返回处理器信号; PR_SET_PDEATHSIG :arg2作为处理器信号pd...转载 2018-10-15 19:10:28 · 29897 阅读 · 0 评论 -
坑,,,
1.c,c++结构体声明在前面,在具体函数里再进行赋值操作。否则,C++会报错。 struct sockaddr_in server_addr;2.数据处理,传输https://blog.csdn.net/qq_35240555/article/details/80264136https://www.cnblogs.com/cfans1993/p/6404034.html...原创 2018-11-09 09:18:26 · 116 阅读 · 0 评论 -
moz.build
all warning treat as error moz.build添加,???????不确定,,,if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wshadow']原创 2018-11-07 10:56:10 · 391 阅读 · 0 评论 -
转:C++回调函数
C/C++之回调函数 今天讨论下C/C++中的回调函数。 在理解“回调函数”之前,首先讨论下函数指针的概念。函数指针(1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存取函数,把这种指向函数入...转载 2018-11-15 15:26:21 · 193 阅读 · 0 评论 -
数据类型
int,https://www.cnblogs.com/Free-Thinker/p/7058773.html原创 2018-11-15 18:11:00 · 100 阅读 · 0 评论 -
char 型数组Int型互转
https://zhidao.baidu.com/question/937308026179714932.html?qbl=relate_question_3&word=int%20char%20%CA%FD%D7%E9 #include <stdio.h> #include <string.h> typedef unsigned cha...转载 2018-11-20 10:25:40 · 5575 阅读 · 0 评论 -
转:C/C++中*和&的用法
https://blog.csdn.net/caozixuan98724/article/details/73395598C++中&和*的用法一直是非常让人头疼的难点,课本博客上讲这些知识点一般都是分开讲其用法的,没有详细的总结,导致我在这方面的知识结构格外混乱,在网上找到了一篇英文文章简单总结了这两个符号的一些用法,都是一些比较基础的知识,我比较关心的函数指针,指针函数等都没...转载 2018-11-23 09:39:41 · 300 阅读 · 0 评论 -
pthread_cond_wait()
多线程:深入理解pthread_cond_wait、pthread_cond_signal https://blog.csdn.net/YEYUANGEN/article/details/37593533pthread_cond_wait()用法分析 https://blog.csdn.net/hairetz/article/details/4535920Linux下pthread_c...转载 2018-12-04 21:54:00 · 827 阅读 · 0 评论 -
多线程编程,C++
https://www.cnblogs.com/langzou/p/7364014.htmlhttps://blog.csdn.net/y396397735/article/details/81008086https://blog.csdn.net/liuker888/article/details/46848905https://blog.csdn.net/hitweng...转载 2018-11-30 17:48:59 · 120 阅读 · 0 评论 -
ffos :nsRunnable
damn it 好复杂,,线程间接口http://doxygen.db48x.net/mozilla/html/nsThreadUtils_8h.html 参考android:https://blog.csdn.net/wwww1988600/article/details/7309070原创 2018-11-30 21:16:42 · 150 阅读 · 0 评论 -
ffos :messageloop
messageloop,https://blog.csdn.net/hunter___/article/details/82979447http://www.cnblogs.com/163yun/p/9803011.html原创 2018-11-30 21:22:01 · 192 阅读 · 0 评论 -
gps, 线程,,,
ipdl,PContent.ipdlchild: GeolocationUpdate(GeoPosition somewhere); GeolocationError(uint16_t errorCode); parent: AddGeolocationListener(Principal principal, bool highAccuracy)...原创 2018-12-01 13:36:51 · 147 阅读 · 0 评论 -
C++,多线程同步,,,
#include <iostream>#include <pthread.h>#include <stdio.h>#include <unistd.h> using namespace std;#define BOUNDARY 1int breakcount = 1;pthread_mutex_t tasks_mutex; /...原创 2018-12-03 15:49:07 · 178 阅读 · 0 评论 -
转:Socket通信原理
https://blog.csdn.net/degwei/article/details/51477519 Socket通信原理 对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Soc...转载 2018-12-05 19:59:04 · 135 阅读 · 0 评论