亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于pthread_create,readlink,getpid等函數(shù)的學(xué)習(xí)與總結(jié)

 更新時(shí)間:2013年07月17日 10:40:01   作者:  
以下是對pthread_create,readlink,getpid等函數(shù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下

pthread_create是UNIX環(huán)境創(chuàng)建線程函數(shù)
  
  具體格式:
    #include<pthread.h>
    int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void*(*start_rtn)(void*),void *restrict arg);
    返回值:若成功則返回0,否則返回出錯(cuò)編號
    返回成功時(shí),由tidp指向的內(nèi)存單元被設(shè)置為新創(chuàng)建線程的線程ID。attr參數(shù)用于制定各種不同的線程屬性。新創(chuàng)建的線程從start_rtn函數(shù)的地址開始運(yùn)行,該函數(shù)只有一個(gè)無指針參數(shù)arg,如果需要向start_rtn函數(shù)傳遞的參數(shù)不止一個(gè),那么需要把這些參數(shù)放到一個(gè)結(jié)構(gòu)中,然后把這個(gè)結(jié)構(gòu)的地址作為arg的參數(shù)傳入。
    linux下用C開發(fā)多線程程序,Linux系統(tǒng)下的多線程遵循POSIX線程接口,稱為pthread。

  #include <pthread.h>
  int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg);
  
  Returns: 0 if OK, error number on failure

由 restrict 修飾的指針是最初唯一對指針?biāo)赶虻膶ο筮M(jìn)行存取的方法,僅當(dāng)?shù)诙€(gè)指針基于第一個(gè)時(shí),才能對對象進(jìn)行存取。對對象的存取都限定于基于由 restrict 修飾的指針表達(dá)式中。 由 restrict 修飾的指針主要用于函數(shù)形參,或指向由 malloc() 分配的內(nèi)存空間。restrict 數(shù)據(jù)類型不改變程序的語義。 編譯器能通過作出 restrict 修飾的指針是存取對象的唯一方法的假設(shè),更好地優(yōu)化某些類型的例程。
    第一個(gè)參數(shù)為指向線程標(biāo)識符的指針。
    第二個(gè)參數(shù)用來設(shè)置線程屬性。
    第三個(gè)參數(shù)是線程運(yùn)行函數(shù)的起始地址。
    最后一個(gè)參數(shù)是運(yùn)行函數(shù)的參數(shù)。
    另外,在編譯時(shí)注意加上-lpthread參數(shù),以調(diào)用靜態(tài)鏈接庫。因?yàn)閜thread并非Linux系統(tǒng)的默認(rèn)庫

  ===============================================================================linux關(guān)于readlink函數(shù)獲取運(yùn)行路徑           
相關(guān)函數(shù): stat, lstat, symlink
表頭文件: #include <unistd.h>
定義函數(shù):int  readlink(const  char *path,  char *buf, size_t  bufsiz);
函數(shù)說明:readlink()會將參數(shù)path的符號連接內(nèi)容到參數(shù)buf所指的內(nèi)存空間,返回的內(nèi)容不是以NULL作字符串結(jié)尾,但會將字符串的字符數(shù)返回。若參數(shù)bufsiz小于符號連接的內(nèi)容長度,過長的內(nèi)容會被截?cái)?BR>  
返回值:
執(zhí)行成功則傳符號連接所指的文件路徑字符串,失敗返回-1, 錯(cuò)誤代碼存于errno
錯(cuò)誤代碼:
               EACCESS                  取文件時(shí)被拒絕,權(quán)限不夠
               EINVAL                    參數(shù)bufsiz為負(fù)數(shù)
               EIO                         O存取錯(cuò)誤
               ELOOP                     欲打開的文件有過多符號連接問題
               ENAMETOOLONG       參數(shù)path的路徑名稱太長
               ENOENT                   參數(shù)path所指定的文件不存在
               ENOMEM                   核心內(nèi)存不足
               ENOTDIR                   參數(shù)path路徑中的目錄存在但卻非真正的目錄
例一:
#include <stdio.h>
#include <unistd.h>
#define PATH_MAX 1024
char * get_exe_path()
{
    static char buf[PATH_MAX];
    int i;
    int rslt = readlink("/proc/self/exe", buf, PATH_MAX);
    if (rslt < 0 || rslt >= PATH_MAX)
    {
        return NULL;
    }
    buf[rslt] = '/0';
    for (i = rslt; i >= 0; i--)
    {
        printf("buf[%d] %c/n", i, buf);
        if (buf == '/')
        {
            buf[i + 1] = '/0';
            break;
        }
    }
    return buf;
}
int main(int argc, char ** argv)
{
    printf("%s/n", get_exe_path());
    return 0;
}

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

  getpid 取得進(jìn)程識別碼
  
  相關(guān)函數(shù): fork,kill,getpid  表頭文件: #include<unistd.h>  

  定義函數(shù): pid_t getpid(void);  

  函數(shù)說明:  
  getpid()用來取得目前進(jìn)程的進(jìn)程識別碼,許多程序利用取到的  此值來建立臨時(shí)文件,以避免臨時(shí)文件相同帶來的問題?! ?br>
  返回值: 目前進(jìn)程的進(jìn)程識別碼  

  范例:  
  #include<unistd.h>  
  main()  
  {  
  printf(“pid=%d/n”,getpid());  
  }  

  執(zhí)行:  
  pid=1494 /*每次執(zhí)行結(jié)果都不一定相同*/

  ===============================================================================
  
 
strrchr()函數(shù)
  
  定義和用法           
  strrchr()函數(shù)的作用是:查找一個(gè)字符串在另一個(gè)字符串中末次出現(xiàn)的位置,并返回從字符串中的這個(gè)位置起, 一直到字符串結(jié)束的所有字符?! ∪绻茨苷业街付ㄗ址敲春瘮?shù)將返回NULL。

  語法
  char *strrchr(char *str, char c);

  例子
  #include <string.h>  
  #include <stdio.h>  
  int main(void)  
    char string[16];
    char *ptr, c = 'r';

    strcpy(string, "This is a string");
    ptr = strrchr(string, c);

    if (ptr)
             printf("The character %c is at position: %d/n", c, ptr-string);
    else
             printf("The character was not found/n");
    return 0;  
  }  

  運(yùn)行結(jié)果是:The character r is at position:12

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

  strstr()函數(shù)用法
  
c++函數(shù)原型:
const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );

C函數(shù)原型:
char * strstr ( const char *, const char * );
a字符串里 查看是否有b字符串,
有則 從首次發(fā)現(xiàn)b字符串處 返回 a字符串。
沒有則輸出 null
例子:
char st[]="abc 1234 xyz";
printf("%s",strstr(st,"34") );

打印出:
34 xyz

相關(guān)文章

  • 遍歷jquery對象的代碼分享

    遍歷jquery對象的代碼分享

    今天遇到一個(gè)問題需要獲取tagName,使用jquery,查詢了一下,大家說用$("dd").attr("tagName")能獲取到,但是得到的返回值是undefined,于是又查詢餓了許久,返回遍歷了一下jquery封裝的對象
    2011-11-11
  • jQuery制作簡單柱狀圖實(shí)例

    jQuery制作簡單柱狀圖實(shí)例

    這篇文章主要介紹了jQuery制作簡單柱狀圖的方法,實(shí)例分析了html與css布局以及jQuery功能的具體實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-01-01
  • jQuery實(shí)現(xiàn)鼠標(biāo)滑過Div層背景變顏色的方法

    jQuery實(shí)現(xiàn)鼠標(biāo)滑過Div層背景變顏色的方法

    這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)滑過Div層背景變顏色的方法,涉及jQuery中hover及addClass方法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 詳談jQuery中的this和$(this)

    詳談jQuery中的this和$(this)

    在使用jquery操作js時(shí),經(jīng)常弄不明白this與$(this)。最近不是很忙,抽空仔細(xì)研究了一下,記錄下來以供在忘記的時(shí)候拉出來參考參考!
    2014-11-11
  • jQuery中Dom的基本操作小結(jié)

    jQuery中Dom的基本操作小結(jié)

    本篇文章主要是對jQuery中Dom的基本操作進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • ztree實(shí)現(xiàn)權(quán)限橫向顯示功能

    ztree實(shí)現(xiàn)權(quán)限橫向顯示功能

    最近在做權(quán)限功能的時(shí)候,采用的ztree實(shí)現(xiàn)的,但是產(chǎn)品要求最后一層的權(quán)限節(jié)點(diǎn)要橫向顯示。下面小編把基于ztree實(shí)現(xiàn)權(quán)限橫向顯示功能的實(shí)現(xiàn)思路分享給大家,供大家參考
    2017-05-05
  • jQuery實(shí)現(xiàn)用戶信息表格的添加和刪除功能

    jQuery實(shí)現(xiàn)用戶信息表格的添加和刪除功能

    這篇文章主要介紹了jQuery實(shí)現(xiàn)用戶信息表格的添加和刪除功能,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-09-09
  • jquery實(shí)現(xiàn)自適應(yīng)banner焦點(diǎn)圖

    jquery實(shí)現(xiàn)自適應(yīng)banner焦點(diǎn)圖

    本文主要分享了jquery實(shí)現(xiàn)自適應(yīng)banner焦點(diǎn)圖的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • JQuery入門——用bind方法綁定事件處理函數(shù)應(yīng)用介紹

    JQuery入門——用bind方法綁定事件處理函數(shù)應(yīng)用介紹

    bind()功能是為每個(gè)選擇元素的事件綁定處理函數(shù),感興趣的你可以了解下它的語法bind(type, [data], fn),參數(shù)data是作為event.data屬性值傳遞對象的額外數(shù)據(jù)對象,好好學(xué)習(xí)希望本可以幫助到你
    2013-02-02
  • jquery實(shí)現(xiàn)戶籍地選擇下拉框

    jquery實(shí)現(xiàn)戶籍地選擇下拉框

    這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)戶籍地選擇下拉框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評論