
库函数
sunxiaopengsun
这个作者很懒,什么都没留下…
展开
-
linux管道pipe详解
https://blog.csdn.net/qq_42914528/article/details/82023408转载 2020-10-28 13:41:07 · 297 阅读 · 0 评论 -
pthread_mutex_lock和pthread_cond_t结合用法
条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:1)一个线程等待"条件变量的条件成立"而挂起;2)另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。1.主要涉及到下面的函数:int...原创 2020-10-21 09:23:56 · 275 阅读 · 0 评论 -
Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)
之前有个要把打开的文件清空,然后重新写入的需求,但是使用 ftruncate(fd, 0)后,并没有达到效果,反而文件头部有了'\0',长度比预想的大了。究其原因是没有使用 lseek 重置文件偏移量,是我太天真了,以为清空文件就会从头开始写入。------------------------------------- 我是解释分割线 -------------------------------...原创 2018-02-10 11:44:04 · 493 阅读 · 0 评论 -
版本控制, C语言的两个宏, __DATE__, __TIME__, VS2005带参运行程序
__DATE__, __TIME__两个宏用来表示编译时的时间, 当我们的软件在不同时期发布后, 可通过这两个参数确定用的是哪个版本, 下面是一个应用小例 [cpp] view plain copy#include const char *version = "1.1.1.1"; void PrintVersion(原创 2017-09-20 16:34:07 · 574 阅读 · 0 评论 -
sscanf 用法
C语言函数sscanf()的用法sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型 int sscanf( string str, string fmt, mixed var1, mixed var2 … ); int scanf( const char *format [,argument]… ); 说明: sscanf与scanf类似,都是用于输入的,只是原创 2017-05-22 10:59:50 · 456 阅读 · 0 评论 -
C/C++中volatile关键字详解
1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler th原创 2017-03-04 11:23:57 · 269 阅读 · 0 评论 -
SHFileOperation 删除和拷贝文件
BOOL DeleteFolder(LPCTSTR lpszPath) { SHFILEOPSTRUCT FileOp; ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT)); FileOp.fFlags = FOF_NOCONFIRMATION; FileOp.hNameMappings = NULL;原创 2017-02-07 15:57:17 · 1211 阅读 · 0 评论 -
darwin setevent的使用注意事项
信号无论调用setevent设置多少次触发信号,只要 WaitForSingleObject等待到一次信号,则信号自动设置为非触发状态。HANDLE fCondition = NULL;unsigned int WINAPI _Entry(LPVOID inThread);int main(int argc, char * argv[]) { fCo原创 2017-01-31 11:38:06 · 339 阅读 · 0 评论 -
C语言之memcmp函数
【FROM MSDN && 百科】原型: int memcmp(const void *buf1, const void *buf2, unsigned int count);#include比较内存区域buf1和buf2的前count个字节。此函数是按字节比较。Compares the first num bytes of the block of memo原创 2017-01-19 17:29:59 · 1555 阅读 · 0 评论 -
linux线程-生产者/消费者
[cpp] view plain copy #include #include #define BUFFER_SIZE 16 // 缓冲区数量 struct prodcons { // 缓冲区相关数据结构 int buffer[BUFFER_SIZE]; /* 实际数据存放的数组*/ pthread_mutex_t lock; /* 互原创 2017-01-08 18:21:08 · 392 阅读 · 0 评论 -
Linux线程-互斥锁pthread_mutex_t
在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务;互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。一,锁的创建 锁可以被动态或静态创建,可以用宏PTHRE原创 2017-01-08 18:17:26 · 323 阅读 · 0 评论 -
TLS--线程局部存储
概念:线程局部存储(Thread Local Storage,TLS)用来将数据与一个正在执行的指定线程关联起来。进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保; 多个线程访问共享数据,需要昂贵的同原创 2017-01-04 17:50:22 · 296 阅读 · 0 评论 -
strncmp函数
函数原型:extern int strcmp(char *str1,char * str2,int n)参数说明:str1为第一个要比较的字符串,str2为第二个要比较的字符串,n为指定的str1与str2的比较的字符数。 所在库名:#include 函数功能:比较字符串str1和str2的前n个字符。 返回说明:返回整数值:当str1str2时原创 2016-12-29 16:56:34 · 3602 阅读 · 0 评论 -
strncpy()函数详解
strncpy()函数原型:extern char *strncpy(char *dest, char *src, int n); 用法:#include 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 说明:如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。 如果src的长度小于n个字节,原创 2016-12-29 16:19:43 · 17882 阅读 · 0 评论