extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value) __THROW __nonnull ((1));
时间: 2023-08-18 12:04:35 浏览: 116
sem_init函数是用于初始化一个信号量的函数。它的参数包括:
- __sem:指向要初始化的信号量的指针。
- __pshared:指示信号量是进程间共享还是线程间共享的标志。如果__pshared为0,表示信号量只能在调用进程的线程之间共享;如果__pshared为非0,表示信号量可以在多个进程之间共享。
- __value:指定信号量的初始值。
函数原型中的__THROW和__nonnull是函数属性,__THROW表示该函数不会抛出任何异常,__nonnull表示参数不能为空指针。
需要注意的是,sem_init函数在使用前需要包含头文件<semaphore.h>。
如果你有关于sem_init函数的更具体的问题或者需要进一步的解释,请告诉我。
相关问题
extern int ddr_cfg_wr(unsigned int ddr, unsigned int addr, unsigned int val); extern unsigned int ddr_cfg_rd(unsigned int ddr, unsigned int addr);
这是两个函数的声明。第一个函数是ddr_cfg_wr,它接受三个无符号整数参数:ddr,addr和val,并返回一个整数。第二个函数是ddr_cfg_rd,它接受两个无符号整数参数:ddr和addr,并返回一个无符号整数。这些函数可能是用于配置和读取DDR(双数据率)存储器的相关设置。具体的实现代码可能在其他地方定义。
解释INTRINS.H Intrinsic functions for C51. Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH All rights reserved. --------------------------------------------------------------------------*/ #ifndef __INTRINS_H__ #define __INTRINS_H__ #pragma SAVE #if defined (__CX2__) #pragma FUNCTIONS(STATIC) /* intrinsic functions are reentrant, but need static attribute */ #endif extern void _nop_ (void); extern bit _testbit_ (bit); extern unsigned char _cror_ (unsigned char, unsigned char); extern unsigned int _iror_ (unsigned int, unsigned char); extern unsigned long _lror_ (unsigned long, unsigned char); extern unsigned char _crol_ (unsigned char, unsigned char); extern unsigned int _irol_ (unsigned int, unsigned char); extern unsigned long _lrol_ (unsigned long, unsigned char); extern unsigned char _chkfloat_(float); #if defined (__CX2__) extern int abs (int); extern void _illop_ (void); #endif #if !defined (__CX2__) extern void _push_ (unsigned char _sfr); extern void _pop_ (unsigned char _sfr); #endif #pragma RESTORE #endif
这段代码是关于C51芯片的Intrinsic函数的头文件,Intrinsic函数是指直接嵌入到程序中的函数,不需要进行函数调用,在编程中可以提高效率。该文件定义了一些Intrinsic函数,比如_nop_、_testbit_、_cror_、_iror_、_lror_、_crol_、_irol_、_lrol_等等,这些函数可以直接在程序中使用。此外,该文件还定义了一些宏,如SAVE、FUNCTIONS、RESTORE等,用于在编译时控制函数的属性和行为。
阅读全文