Time of Update: 2018-12-05
#ifdef __macos__ #include </usr/local/mysql/include/mysql.h>#endif#ifdef __linux__ #include </usr/include/mysql/mysql.h>#endif============================================================#ifdef __macos__ #include
Time of Update: 2018-12-05
今天在虛擬機器中用Linux時候發現忘記root密碼了,於是在網上找相關資訊,雖然東西很多,但是都不知道怎麼進入系統。因為虛擬機器進入時候根本沒有機會讓我選擇,後來猜想估計是虛擬機器的反應不及時,導致停留的選項看不到,於是重啟虛擬機器,不停地按↓鍵,終於進入了選擇菜單。1圖1以下為網上的操作,紅色括弧中是我更改的。1. 重啟電腦. (我的實際操作是重啟同時不停地按↓鍵)2. 當grub開始載入時, 按下"Esc"鍵, 這時會出現作業系統的選擇菜單. (實際操作啥都沒做)3.
Time of Update: 2018-12-05
修複引導:apt-get install grubgrubfind /boot/grub/stage1root(hd0,y)setup (hdo) 超級使用者切換,經常輸入正確密碼也切換不過去,改用此命令:sudo -s 安裝deb,rpm軟體:dpkg -i ^.deb dpkg -r(p) ^.deb 或者直接安裝個Gdeb軟體,apt-get install gdebrpm -i ^.rpm rpm -e ^.rpm
Time of Update: 2018-12-05
à背景知識介紹 1 互斥量 互斥量函數有 pthread_mutex_init 初始化一個互斥量 pthread_mutex_lock 給一個互斥量加鎖 pthread_mutex_trylock 加鎖,如果失敗不阻塞 pthread_mutex_unlock 解鎖互斥量從本質上說是一把鎖,在訪問共用資源前對互斥量進行加鎖,在訪問完成後釋放互斥量上的鎖。對互斥量進行加鎖以後,任何其他試圖再次對互斥量加鎖的線程將會被阻塞直到當前線程釋放該互斥鎖。 2
Time of Update: 2018-12-05
#include <time.h> time_t time(time_t *calptr) 這是time函數基本架構 指標指向的一串數字達不到毫秒極的資訊。 然後使用以下兩個函數將其進行標準時間轉換 #include <time.h> struct tm *gmtime(const time_t *calptr) /*將其轉換為國際標準時間*/ struct tm *localtime(const
Time of Update: 2018-12-05
一、編譯和串連 一般來說,如果庫的標頭檔不在 /usr/include 目錄中,那麼在編譯的時候需要用 -I參數指定其路徑。由於同一個庫在不同系統上可能位於不同的目錄下,使用者安裝庫的時候也可以將庫安裝在不同的目錄下,所以即使使用同一個庫,由於庫的路徑的不同,造成了用 -I 參數指定的標頭檔的路徑也可能不同,其結果就是造成了編譯命令介面的不統一。如果使用 -L參數,也會造成串連介面的不統一。編譯和串連介面不統一會為庫的使用帶來麻煩。
Time of Update: 2018-12-05
維護Linux的ssh工具在使用中,一旦遇到網路中斷,則當前的shell就會自動關閉當前的工作進度就會丟失,這對於遠程升級等比較耗費時間的工作是非常不利的對於遠程調適代碼也是很不可靠不安全的為此,可以使用screen這個工具來解決這個問題。對於最小化的linux,通常screen是不包含在系統內的。需要尋找作業系統的安裝光碟片,例如對於AS4update4在其中的CD4.iso裡邊可找到screen-4.0.2-5.i386.rpm到伺服器上執行rpm -ivh
Time of Update: 2018-12-05
前面轉載了一篇文章關於core檔案的產生和調試使用的設定,但在使用有一些需要注意的問題,如 在什麼情況 才會正確地產生core檔案。 列出一些常見問題:一,如何使用core檔案1. 使用core檔案在core檔案所在目錄下鍵入:gdb -c core它會啟動GNU的調試器,來調試core檔案,並且會顯示產生此core檔案的程式名,中止此程式的訊號等等。如果你已經知道是由什麼程式產生此core檔案的,比如MyServer崩潰了產生core.12345,那麼用此指令調試:gdb -c
Time of Update: 2018-12-05
在分析LIVE555代碼時 偶獲:if (fIsFirstPacket) { // Record the fact that we're starting to play now: gettimeofday(&fNextSendTime, NULL);
Time of Update: 2018-12-05
檔案系統顯示中文:配置核心支援編碼:*- Native language support ---> <* > Simplified Chinese charset (CP936, GB2312) <* > NLS UTF-8 將檔案系統中的預設字元改為藍色部分 File systems ---> DOS/FAT/NT Filesystems ---> <*>
Time of Update: 2018-12-05
http://blog.csdn.net/wangjiannuaa/article/details/6585136#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <unistd.h>#include <sys/vfs.h>#include <error.h>#define Gsize (1024.00 * 1024.00 * 1024.00
Time of Update: 2018-12-05
linux 下有 linuxthreads 和 NPTL,nptl 比 linuxthreads 先進,目前新核心都支援 ntpl,相應的 glibc 也支援,遇到老的機器,用的還是 linuxthreads,雖然二者二進位相容,但是某些細節上還是不同,問題現實存在,無奈也得解決。 方法是用 confstr 來讀取系統的配置資訊: #include <unistd.h> static bool CheckNptl(){ char buf[32]; confstr(_CS_
Time of Update: 2018-12-05
一、對於休眠(suspend)的簡單介紹 在Linux中,休眠主要分三個主要的步驟: 1) 凍結使用者態進程和核心態任務 2) 調用註冊的裝置的suspend的回呼函數, 順序是按照註冊順序 3) 休眠核心裝置和使CPU進入休眠態, 凍結進程是核心把進程列表中所有的進程的狀態都設定為停止,並且儲存下所有進程的上下文. 當這些進程被解凍的時候,他們是不知道自己被凍結過的,只是簡單的繼續執行。 如何讓Linux進入休眠呢?使用者可以通過讀寫sys檔案/sys
Time of Update: 2018-12-05
文章目錄 HID inputHID devHID raw dev 最近研究藍芽的鍵盤滑鼠,所以粗略看了一下Linux的HID架構。HID 匯流排HID的匯流排在hid-core.c的hid-init中初始化:bus_register(&hid_bus_type);hid_bus_type的定義:static struct bus_type hid_bus_type = { .name =
Time of Update: 2018-12-05
本文介紹藍芽協議棧Bluez在linux中實現HID功能的kernel部分。在linux kernel中,Bluez對HID的實現代碼在/net/bluetooth/hidp檔案夾中,主要包括sock.c,core.c和hidp.h三個檔案。Bluez提供了一個socket介面,使用者空間程式通過使用該socket控制HID。該socket使用的協議編號為BTPROTO_HIDP。1. 初始化HIDP的初始化在sock.c的hidp_init_sockets函數。int __init
Time of Update: 2018-12-05
作者介紹:Harald Welte is one of the five netfilter/iptables core team members, and is the current Linux 2.4.x firewalling maintainer. His main interest in computing has always been networking but in the little time left after netfilter/iptables related
Time of Update: 2018-12-05
標頭檔 #include <dlfcn.h> 載入動態庫void *dlopen(const char *filename, int flag);flag的可能值:l RTLD_LAZYl RTLD_NOWl RTLD_GLOBALl RTLD_LOCALl RTLD_NODELETE (since glibc 2.2)l RTLD_NOLOAD (since glibc 2.2)l
Time of Update: 2018-12-05
Linux中的字元裝置驅動中有一個函數unsigned int (*poll)(struct file * fp, struct poll_table_struct * table)此函數在系統調用select內部被使用,作用是把當前的檔案指標掛到裝置內部定義的等待隊列中。這裡的參數table可以不考慮,是在select函數實現過程中的一個內部變數。函數具體實現時: wait_queue_head_t t = ((struct mydev *)filp->private_data)
Time of Update: 2018-12-05
usb_alloc_urbusb_free_urb分配和釋放urb的填充: 寫明urb的類型,可以是ctrl、bulk、int和iso。
Time of Update: 2018-12-05
很久以前整理的,今天偶然看到了,放到網上方便查詢。一、 syslogd和klogdsyslogd與syslog配套使用,主要用於daemon輸出log。Klogd讀/proc/kmsg,儲存的是kernel log。Klogd啟動時有一個-f選項,用於指定儲存kernel log的檔案。如果沒有指定,會發送到syslog,由syslog統一儲存。二、 daemon函數調用daemon函數可用於將程式轉入後台,並斷開與終端的標準輸入輸出串連。daemon(0, 0); //