学习和基于pthread_create,总结读符号链接的值,getpid等功能

学习和基于pthread_create,总结读符号链接的值,getpid等功能
pthread_create是UNIX环境中创建一个线程函数

具体的格式:
#包括
国际pthread_create(pthread_t *限制遥测与图像数据处理,pthread_attr_t * const限制属性,void *(* start_rtn)(void *));
返回值:如果成功返回0,或返回错误
当返回成功,由遥测与图像数据处理存储单元被设置为新创建的线程的线程ID。attr参数是用来做各种线程属性。新创建的线程开始从功能start_rtn地址运行,这个函数只是一个指针参数arg,如果你需要传递参数到start_rtn功能不止一个,那么需要把这些参数到一个结构,然后结构的地址作为参数传入的参数。
多线程程序是用C在Linux上开发的多线程,在Linux系统下遵循POSIX线程接口,调用pthread。

#包括
Int pthread_create (pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void * (*start_rtn) (void));

返回:0如果正确,错误号为失败

受限制修改的指针是访问指针引用的对象的第一种方式。它只能访问第二对象只有当第一个指针的基础。对对象的访问是有限的一个基于约束的修改指针表达式。指针的限制修饰主要用于函数的参数,或通过malloc分配的内存空间(),限制数据类型不改变程序的语义,编译器可以更好地优化程序的一些类型的限制修饰指针访问对象的唯一方法
第一个参数是指向线程标识符的指针。
第二个参数用于设置线程属性。
第三个参数是线程运行函数的起始地址。
最后一个参数是run函数的参数。
此外,要注意这个参数在编译时调用静态链接库。因为是不是Linux系统默认

=============================================================================== Linux在读符号链接的值函数的运行路径
相关函数:统计,lstat,符号链接
文件:#包括
定义函数:int读符号链接的值(const char *path,char * buf,size_t bufsiz);
功能说明:读符号链接的值()将连接参数路径符号加入到内存空间称为参数buf,和返回的内容并没有结束与空字符串,但它将返回字符串的字符数。如果参数bufsiz小于符号连接的内容长度,过长的内容将被截断

返回值:文件路径的字符串被称为符号连接,失败返回1,和错误代码被存储在errno
错误代码:
eAccess是拒绝以文件时,和权限是不够的
einval参数bufsiz是负的
EIO O访问错误
eloop想太多的符号连接,打开一个文件
enametoolong参数的路径名太长
由enoent参数指定路径的文件不存在
enomem核心内存不足
在enotdir参数路径的目录存在但不是一个真正的目录
例1:
#包括
#包括
#定义path_max 1024
get_exe_path(char *)
{
静中字符{ path_max };
int i;
国际法=读符号链接的值( / / / EXE程序自
如果(效果= path_max)
{
返回null;
}
但是{ } =法/ 0;
对(我=法;i = 0;我--)
{
printf(%d %c buf { } /
如果(buf = =/)
{
但{我+ 1 } =0;
打破;
}
}
返回buf;
}
int main(int argc、argv char *)
{
printf(%s /
返回0;
}

===============================================================================

getpid进程识别

相关函数:叉,杀,头文件包括:# getpid

定义函数:pid_t getpid(void);

功能描述:
Getpid()是用来获取当前进程进程识别码。许多程序使用临时值来创建临时文件,避免临时文件而引发的问题。 U3000 U3000

返回值:当前进程的进程标识码

例子:
#包括
主要()
{
printf(PID = %d / N,getpid());
}

实施:
PID = 1494 *执行时间结果不一定相同。

===============================================================================

Strrchr()函数

定义和用法
strrchr()函数的作用发现在另一个字符串的最后一个地方,返回所有的字符从字符串中的位置,直到结束的字符串。如果指定的字符不存在,函数返回null。

语法
char * strrchr(定义字符串,字符C);

例子
#包括
#包括
主(空)
char字符串{ 16 };
char*指针,C = R;

Strcpy(字符串,这是一个字符串);
ptr = strrchr(字符串,C);

如果(PTR)
printf(%c字符位置为:%d /
其他的
printf(字符不是发现 / );
返回0;
}

运行结果是:字符r位于位置:12

===============================================================================

Strstr()函数的用法

C++函数原型:
const char * strstr(const char * const char* str1、str2);
char * strstr(字符串str1、str2 const char *);

函数原型:
char * strstr(const char *,const char *);
在一个字符串中,看看是否有一个B字符串,
字符串是从B字符串的第一次发现返回的。
否,然后输出空
例子:
字符1234;
printf(%s

打印出来:
34 XYZ
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部