隨核心版本的變化,會增加一些新的系統呼叫,但如果glibc沒有跟上,則不能直接呼叫,這個時候可以自己包裝一下。如果想知道核心是否支援某系統呼叫,先得知道它的系統呼叫id號,下面**即是用來檢查是否支援epoll_create1: /
/ 檔名: x.cpp
// 編譯: g+
+-g -o x x.cpp
#include errno.h>
#include stdio.h>
#include stdint.h>
#include stdlib.h>
#include string
.h>
#include unistd.h>
#ifndef __nr_epoll_create1
# if defined(__x86_64__)
# define __nr_epoll_create1 291
# elif defined(__i386__)
# define __nr_epoll_create1 329
# elif defined(__arm__)
# define __nr_epoll_create1 (uv_syscall_base + 357)
# endif
#endif /
* __nr_epoll_create1 *//
/ 2.6.27核心才支援epoll_create1
// glibc2.9開始提供epoll_create1
static inline int epoll_create1(
int flags)
int main()/
/ 走到這裡,表示支援該系統呼叫
printf(
"epoll_create1 supported\n");
return 0;}
/usr/include/bits/syscall.h
/usr/include/asm/unistd.h
/usr/include/asm/unistd_32.h
/usr/include/asm/unistd_64.h
/usr/include/asm/unistd_x32.h
檢測是否支援position fixed
不喜歡瀏覽器嗅探,模仿ie6的ua的瀏覽器太多了 使用如下結構 outer inner 如果瀏覽器支援fixed,由於fixed是相對於document定位的,因此無論body樣式如何,top始終是100px 如果瀏覽器不支援fixed,被解釋為static,則inner和top值無效,計算出來的i...
javascript,檢測物件中是否存在某個屬性
檢測物件中屬性的存在與否可以通過幾種方法來判斷。1.使用in關鍵字。該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。var o x in o true,自有屬性存在 y in o false tostring in o true,是乙個繼承屬性 2.使用物件的hasownproperty 方法。...
javascript,檢測物件中是否存在某個屬性
檢測物件中屬性的存在與否可以通過幾種方法來判斷。1.使用in關鍵字。該方法可以判斷物件的自有屬性和繼承來的屬性是否存在。var o x in o true,自有屬性存在 y in o false tostring in o true,是乙個繼承屬性 2.使用物件的hasownproperty 方法。...