将线程绑定在指定的CPU上运行

将线程绑定在指定的CPU上运行voidmain(){intcpu_num=sysconf(_SC_NPROCESSORS_CONF);pthread_ttid;cpu_set_tmask;cpu_set_tget;CPU_ZERO(&mask);CPU_ZERO(&get);//绑定
c/c++ linux 2020年08月19日 122次浏览

设置core大小限制为不限制

设置core大小限制为不限制intset_corefile_limit(void){structrlimitlimit;limit.rlim_cur=RLIM_INFINITY;limit.rlim_max=RLIM_INFINITY;if(setrlimit(RLIMIT_CORE,&li
c/c++ linux 2020年08月19日 100次浏览

判断指定进程是否存在

判断指定进程是否存在//存在返回1intprocess_exist(char*pid){intret=0;charpid_path[64]={0};structstatstat_buf;if(!pid)return0;snprintf(pid_path,64,"/proc/%s/statu
c/c++ linux 2020年08月19日 108次浏览

初始化消息队列

初始化消息队列staticintinit_msq_master(char*ipcpath,intclean){structmsg_bufmsg;intmsqid=-1,ipckey=-1;intret=-1;intmsglen=4096;/*为建立IPC通讯准备key值。注意:1、使用ftok时,文
c/c++ linux 2020年08月19日 116次浏览

创建共享内存

创建共享内存//创建共享内存intinit_shmget_master(char*ipcpath,unsignedintshm_size){intret=-1,ipckey=-1;structshmid_dsshm_stat;void*shm=NULL;/*为建立IPC通讯准备key值。注意:1、使
c/c++ linux 2020年08月19日 101次浏览

获取指定pid使用内存情况

获取指定pid使用内存情况intget_task_mem(intpid){longmem=0;FILE*p_file=NULL;charcmd[512]={0},fpath[128]={0},buf[128];if(pid==0)return0;sprintf(fpath,"/proc/%
c/c++ linux 2020年08月19日 98次浏览

封装一个自己的打印函数

封装一个自己的打印函数#include<stdio.h>#include<stdarg.h>#defineDEBUG_BUF_MAX4096voiddebug_info(char*file,constchar*func,unsignedintline,constchar*fm
c/c++ 2020年08月18日 107次浏览

获取结构体中变量的偏移位置

获取结构体变量偏移位置#defineget_variable_index(TYPE,member,ITYPE,index)\{\*index=(ITYPE)(&(((TYPE*)0)->member));\}while(0)TYPE为结构体类型。member为结构体中要获取位置的变量名
c/c++ 2020年08月18日 81次浏览

快速排序的三种写法

方法1:前面放一个指针的方法voidquick(int*arr,intlen,intstart,intend){intlow=start;for(inti=start+1;i<end+1;i++){if(arr[i]<arr[start]){low++;if(low!=i){swap(&
c/c++ 算法 2020年07月17日 213次浏览

如何编写operator =

类前提概要classCMyString{public:CMyString(char*pData=nullptr);CMyString(constCMyString&str);~CMyString(void);CMyString&operator=(constCMyString&
c/c++ 2020年07月17日 163次浏览