Ubuntu裡S ISLINK 函式找不到的問題

2021-10-05 19:39:40 字數 1539 閱讀 1415

在《unix環境高階程式設計》第3版第4章圖4-3 閱讀中,發現ubuntu裡

#include

#include

#include

#include

intmain

(int argc,

char

*ar**)

if(s_isreg

(buf.st_mode)

) ptr =

"regular"

;elseif(

s_isdir

(buf.st_mode)

) ptr =

"diretory"

;elseif(

s_isblk

(buf.st_mode)

) ptr =

"block special"

;elseif(

s_ischr

(buf.st_mode)

) ptr =

"character special"

;elseif(

s_isfifo

(buf.st_mode)

) ptr =

"fifo"

;elseif(

s_islink

(buf.st_mode)

) ptr =

"symbolic link"

;elseif(

s_issock

(buf.st_mode)

) ptr =

"socket"

;else

ptr =

"** unknown mode **"

;printf

("%s\n"

, ptr);}

exit(0

);}

編譯時出現以下問題

test.c: in function 『main』:

test.c:37:

10: warning: implicit declaration of function 『s_islink』 [

-wimplicit-function-declaration]

elseif(

s_islink

(buf.st_mode))^

/tmp/ccgykvup.o: in function `main':

test.c:

(.text+

0x159

): undefined reference to `s_islink'

collect2: error: ld returned 1 exit status

已知該函式在"stat.h"

利用命令

$ locate sys/stat.h

/usr/include/x86_64-linux-gnu/sys/stat.h

開啟檔案stat.h

發現在ubuntu中s_islink()名字應為s_inlnk(),將名字進行修改,則解決該問題。

mysql 建立函式 mysql裡怎樣建立函式

mysql裡建立函式的方法 首先檢視建立函式的功能是否開啟 然後如果value處值為off,則需將其開啟 接著建立函式時,先選擇資料庫 最後進行測試即可。mysql裡建立函式的方法 一 檢視建立函式的功能是否開啟 mysql show variables like func variable nam...

Ubuntu系統裡的python

ubuntu系統裡,預設安裝python2.7.x版本的python,直接執行python命令,開啟的將是python 2.7.x版本 python3版本的需要自行安裝,安裝成功後,執行python3將開啟python 3.x版本。python安裝在 usr bin目錄裡 python庫安裝在 us...

ubuntu裡的常用軟體

類似於金山詞霸的詞典,可隨時查詞 stardict sudo apt get install stardict 安裝好後預設使用網路詞典,必須聯網才行 usr share stardict dic 裡,對此資料夾修改需要許可權,可以在shell裡面用命令複製進去,也可以使用管理員許可權開啟檔案管理器...