![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
Leo606
SE/ASR/KWS/AIGC
展开
-
boost库之异步函数async_receive_from非阻塞特性
说明:async_receive_from函数是异步且 非阻塞 的,它告诉系统如果有相应的操作,直接调用 回调函数 进行接收操作;原创 2019-10-14 13:55:46 · 3082 阅读 · 0 评论 -
Linux进程之alarm()函数——闹钟信号传送
转载地址最近在学习Linux系统编程遇到了一个很有意思的函数:alarm(),它是一个用来设置信号传送的闹钟函数。网上找了一些资料,结合自己的学习体会,现在Mark一下。1 alarm()函数说明[1] 引用头文件:#include <unistd.h>;[2] 函数标准式:unsigned int alarm(unsigned int seconds);[3] ...转载 2018-08-17 17:22:32 · 17937 阅读 · 5 评论 -
Linux中umask命令/函数的用法简介
转载地址,我也做了一些补充,谢谢原作者! umask命令用得相对不多, 而umask函数则用得相对较多。 下面, 我们先来看看umask命令, 它主要用来屏蔽权限,设置权限屏蔽字, 说白了, 就是间接地设置权限。 我们先打开一个linux shell终端, 执行一些命名, 得到如下的结果: [taoge@localhost learn_c]$ umask0002[taoge@l...转载 2018-08-17 17:37:24 · 677 阅读 · 0 评论 -
(域名、主机名、服务名、端口号)名字与地址的转换 (gethostbyname、getservbyname、getaddrinfo、getnameinfo等)
转载地址本章讲述在名字和数值地址间进行转换的函数:gethostbyname和gethostbyaddr在主机名字与IP地址间进行转换,getservbyname和getservbyport在服务器名字和端口号间进行转换。1.域名系统域名系统(Domain Name System,DNS)主要用于主机名与IP地址间的映射。主机名可以是简单名字,如solaris或bsdi,也可以是全限定...转载 2018-08-20 11:46:12 · 4325 阅读 · 0 评论 -
线程与读写锁
#include <pthread.h>#include <stdio.h>#include <unistd.h>pthread_rwlock_t lock;void *write1(void *arg){ pthread_rwlock_wrlock(&lock); puts("write1"); pthread...转载 2018-08-21 15:49:01 · 364 阅读 · 0 评论 -
Linux下文件写操作,异常断电,文件丢失
程序中,正常的文件操作, File *fp= fopen("文件名","a+"); if(fp== NULL) return; fwrite(buffer,size,count,fp); fflush(wFile); fclose(wFile); 非法关机(断电)之前,能在磁盘上看到文件,但是非法关机,重启之后,文件丢失。百思不得其解。 ...转载 2018-08-21 17:22:28 · 6265 阅读 · 0 评论 -
tcp通信数据黏包和数据丢失问题
前言:我在做tcp通信项目,负责客户端,想要实现文件传输等功能,遇到了以下问题:1,数据黏包问题;2,数据丢失问题;一,tcp数据黏包问题:数据黏包是指tcp会对要传输的数据进行切割,然后再进行传输。比如,客户端发送两条json消息:{“type”:1,“pcmName”:test.raw,“isEnd”:1}和{“type”:4,“pcmName”:test2.raw,“isEnd”...原创 2019-06-13 11:00:33 · 4523 阅读 · 0 评论 -
c语言函数重名问题
问题:linux下程序链接动态c库总是失败,提示库中的几个函数出现问题。苦找无果,最后发现原因——库内两个c函数重名。结论:最好不要重名,但可以通过一些限制避免这个问题。提问:c语言 可以函数重载吗?answer:可以实现。我参考了几种说法。1,c语言不支持函数重载。同一作用区域不可以有函数重名,但不同作用区域中允许函数重名。不同作用区域可以通过在不同文件中使用static实现。...原创 2019-06-13 11:05:40 · 5897 阅读 · 0 评论 -
简单方法确定C语言的char/short/int/long类型取值范围和字节数
一、如何简单 快速 确认char/short/int/long类型的取值范围,示例如下:/* * @Description: * @version: V1.0 * @Company: Twirling in time * @Author: Lipingping * @Date: 2019-06-29 19:01:45 * @LastEditors: Lipingping ...原创 2019-06-29 19:24:25 · 1347 阅读 · 0 评论 -
C++文件读写详解(ofstream,ifstream,fstream)
在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容: #include <fstream> ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中 ...翻译 2018-08-16 15:01:37 · 3018 阅读 · 0 评论 -
C++中的STL中map用法详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识...转载 2018-08-14 16:50:17 · 203 阅读 · 0 评论 -
c++介绍之list
一,前言:c++很方便实用,在这记录一下。首先介绍list及其成员函数。二,介绍:#C++ Lists(链表)#Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign() 给list赋值back() 返回最后一个元素begin() 返回指向第一个元素的迭代器clear() 删除所有元素empty(...原创 2019-09-19 15:58:09 · 162 阅读 · 0 评论 -
Linux下C语言字符串处理函数之strspn()、strcspn()、strbrk()的介绍使用
部分参考网络资源,地址不可考,谢谢原作者!一、strspn()函数:计算字符串str中连续有几个字符都属于字符串accept头文件:#include <string.h>函数原型 size_t strspn(const char *str, const char * accept);函数说明strspn() 从参数 str 字符串的开头计算连续的字符,而这些字符都完全是...原创 2018-08-08 23:39:06 · 1320 阅读 · 0 评论 -
Linux deamon进程——创建守护进程步骤与setsid()函数
转载地址一,守护进程概述Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和数...转载 2018-08-08 23:23:05 · 302 阅读 · 0 评论 -
const int *a和int *const a的区别
过分转载 2018-07-24 22:09:05 · 3569 阅读 · 0 评论 -
关于Linux C语言中互斥锁、条件变量API的接口说明
转自http://www.docin.com/p-1216151083.html,本人为原作者才情所倾倒,转载仅为学习所用,若有冒犯,立即删除。正文转载 2018-07-24 22:19:26 · 553 阅读 · 0 评论 -
exec系列函数(execl,execlp,execle,execv,execvp)的使用介绍
转自:http://blog.csdn.net/mathlmx/article/details/45298975?locationNum=4说明:本人学习exec关联函数组时遇到的优秀说明文章,转载目的仅为学习,如有冒犯请联系我,会立即删除。本人再次表示由衷感谢。本文目标:介绍exec替换进程映像; 介绍exec关联函数组(execl、execlp、execle、execv、exec...转载 2018-07-24 22:23:09 · 1968 阅读 · 0 评论 -
线程取消(pthread_cancel)相关介绍
转自https://www.cnblogs.com/lijunamneg/archive/2013/01/25/2877211.html,谢谢原作者。线程清理pthread_cleanup_push()/pthread_cleanup_pop()的详解基本概念pthread_cancel调用并不等待线程终止,它只提出请求。线程在取消请求(pthread_cancel)发出后会继续运行,...转载 2018-07-24 22:42:02 · 1727 阅读 · 0 评论 -
pthread_cleanup_push()/pthread_cleanup_pop()的详解
线程取消pthread_cancle()相关介绍一般来说,Posix的线程终止有两种情况:正常终止和非正常终止。线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式;非正常终止是线程在其他线程的干预下,或者由于自身运行出错(比如访问非法地址)而退出,这种退出方式是不可预见的。不论是可预见的线程终止还是异常终止,都会存在资源释放的问题,...转载 2018-07-24 22:43:40 · 470 阅读 · 0 评论 -
C语言rename()函数和remove()函数——重命名或移动、删除文件或目录
一,C语言rename()函数:重命名、移动文件或目录 头文件 #include <stdio.h> 函数rename()用于重命名文件、改变文件路径或更改目录名称,其原型为 1 int rename(char * oldname, char * newname); 【参数】oldname为旧文件名,newname...转载 2018-07-24 22:56:08 · 16079 阅读 · 6 评论 -
Linux下C语言之字符串处理函数strdup、strndup、strndupa、strdupa的使用介绍
本文主要对Linux下的C语言字符串处理函数strdup族函数进行介绍,分别是strdup、strndup、strndupa、strdupa。下面进入正题。一、函数族strdup、strndup、strndupa、strdupa1,先看一下man手册:man strdup strdup, strndup, strdupa, strndupa - duplicate a st...原创 2018-07-29 14:44:42 · 4429 阅读 · 0 评论 -
Linux下C语言检测IP地址和Mac地址是否合法
转载地址1 转载地址2 转载地址3 检测IP参考地址_正则表达式检测IP_正则表达式办法1,检测IP算法,接口说明也如下图。/**brief *param: the ip address*return value: if susscess,0 is returned,or 1 is returned on error.*/int checkValidIP(const...转载 2018-08-11 21:55:03 · 4733 阅读 · 0 评论 -
while(true)循环与CPU占用率问题
转自https://blog.csdn.net/zhuyijian135757/article/details/42269329,部分删减修改,学习分享所用,如有侵权,立刻删除。一、为什么死循环占用CPU高 一个进程如果是死循环,那么占有的CPU会很高,可以操作系统时间片运行的,到了一定时间不是会自动切换到别的进程吗?既然即便是死循环,到时间还是会切换到别的进程,为什么占用CPU会高呢...转载 2018-07-22 23:46:57 · 9113 阅读 · 5 评论 -
Linux下C语言之字符串处理函数strtok的使用介绍
转载地址Strtok()函数详解: 该函数包含在"string.h"头文件中 函数原型:char* strtok (char* str,constchar* delimiters );函数功能: 切割字符串,将str切分成一个个子串 函数参数: str:在第一次被调用的时间str是传入需要被切割字符串的首地址;在后面调用的时间传入NULL。 delimiter...转载 2018-08-12 22:02:19 · 610 阅读 · 0 评论 -
Linux下利用C/C++、shell脚本生成uuid
Windows下称为guid,Linux下作为uuid,生成唯一值,可将这种方法用作数据库,作为数据库主键的值。 方法一:利用随机数 #include <stdio.h> #include <stdlib.h> #include <string.h> /** * Create random UUID *...原创 2018-08-11 22:36:50 · 2917 阅读 · 0 评论 -
Linux下的ioctl()函数详解
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个...转载 2018-08-12 21:16:27 · 6427 阅读 · 0 评论 -
gethostbyname()函数说明
转载地址gethostbyname()函数说明——用域名或主机名获取IP地址 包含头文件 #include <netdb.h> #include <sys/socket.h> 函数原型 struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"...转载 2018-08-15 17:18:53 · 6908 阅读 · 0 评论 -
互斥锁、条件变量以及函数pthread_cond_wait、pthread_cond_signal、pthread_cond_broadcast等的使用说明
LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait()函数。但这个函数的执行过程比较难于理解。 pthread_cond_wait()的工作流程如下(以MAN中的EXAMPLE为例): Consider two shared variables x and y, protected by the mutex mut, an...转载 2018-07-24 09:25:27 · 1122 阅读 · 1 评论