Time of Update: 2018-12-05
linux socket 綁定機制的研究 1. 概述:在多 link 環境中,如何保證資料在正確的 link 上傳輸是一個棘手的問題。 本文主要分析 linux socket 綁定機制的實現,從而協助開發人員更好的瞭解 socket 綁定的本質。2. linux kernel 提供給 user space 的介面linux 提供一個新的 setsockopt() 選項 SO_BINDTODEVICE 作為 user space
Time of Update: 2018-12-05
文章目錄 2.2 資料結構關係: 5.3 一個實際的 case Linux 網路系統學習: Neighboring Subsystem1. 概述在資料包的發送過程中,通過路由獲得下一跳的 L3 地址,下一步是獲得此 L3 地址所對應的 L2 地址,這個過程稱為 neighbor discovery。IPv4對應的是 ARP 協議,IPv6 對應的是Neighbor Discovery 協議。Linux 中,用於處理neighbor
Time of Update: 2018-12-05
Linux 內建了一個 watchdog 的實現,用於監視系統的運行,包括一個核心 watchdog module 和一個使用者空間的 watchdog 程式核心 watchdog 模組:核心 watchdog 模組通過 /dev/watchdog 這個字元裝置與使用者空間通訊。使用者空間程式一旦開啟 /dev/watchdog 裝置,就會導致在核心中啟動一個 1分鐘的定時器,此後,使用者空間程式需要保證在 1分鐘之內向這個裝置寫入資料,每次寫操作會導致重新設定定時器。如果使用者空間程式在
Time of Update: 2018-12-05
1. SYS-V 方法可以通過 ipcs 命令來查看 SYS-V 相關的 IPC 使用方式 2. POSIX 方法 1). message queueLinux 提供了 mqueue 的檔案系統類型,可以通過它來觀察到 POSIX 訊息佇列的使用方式 $ mkdir /dev/mqueue $ mount -t mqueue none /dev/mqueue $ ls -l /dev/mqueue -r-------- 1 root root 80 2008-06-18 11:46
Time of Update: 2018-12-05
long double 使用 %Lf //在linux需要注意佔12位元組, 在windows 直接使用%f%d:十進位方式輸出一個有符號整數%u:十進位方式輸出一個不帶正負號的整數。%x,%X:十六進位方式輸出不帶正負號的整數。%x用小寫字母輸出abcdef,%X用大寫。%s:輸出字串,以NULL對應%s的結果是未知的。%c:輸出單個字元。%g:輸出浮點數,去掉數值尾綴的0,保留六位有效數字。
Time of Update: 2018-12-05
windows下的修改系統時間void UIManager::setSysTime(){ //#include <windows.h> //#include <stdlib.h> SYSTEMTIME s; //GetLocalTime(&s); //SetLocalTime(&s) //GetSystemTime()擷取的格林尼治時間, 是全球標準時間。SetSystemTime(&s)
Time of Update: 2018-12-05
標頭檔/* * SoundPlay.h * 1:需要下載開發openal開發包(Software implementation of the OpenAL API(devlopment files))和alut開發包 * 2:添加標頭檔路徑:/usr/include/AL * 3:添加庫:openal和alut */#ifndef SOUNDPLAY_H_#define SOUNDPLAY_H_#include <al.h>#include
Time of Update: 2018-12-05
(1)下載相應版本的TAO,我下載了ACE+TAO-1.3a_with_latest_patches.tar.gz。:http://www.theaceorb.com/downloads/index.html。下載源檔案時,可下載TAO Developer's Guide的部分章節,包括:Chapter 3 - Getting StartedChapter 4 - The Makefile, Project and Workspace Creator (MPC)TAO Developer's
Time of Update: 2018-12-05
緩衝區的複製和拷貝當一個緩衝區需要被特別處理時,可能需要修改sk_buff描述符的內容,但核心不需要完全拷貝sk_buff結構和相關聯的資料緩衝區。為了提高效率,核心可以只複製原始值,也就是拷貝sk_buff結構,然後增加資料緩衝區的引用計數,防止被釋放。 當一個資料包需要被傳輸給多個接受者,如協議處理常式或多個網路分流器時,就需要使用資料包複製技術。 sk_buff的複製沒有連結到任何錶,而且也沒有引用通訊端的擁有者。skb->cloned欄位在複製的和原來的結構豬都設定為1
Time of Update: 2018-12-05
檔案系統是linux的一個十分基礎的知識,同時也是學習linux的必備知識。 本文將站在一個較高的視圖來瞭解linux的檔案系統,主要包括了linux磁碟分割和目錄、掛載基本原理、檔案儲存體結構、軟連結永久連結、和常見目錄的介紹。相信有了這些知識對於深入的學習linux會有一定的協助。文章例子主要是基於ubuntu發行版。
Time of Update: 2018-12-05
[tom@Agilysys:etc]$vi /etc/sudoers## Adding HOME to env_keep may enable a user to run unrestricted# commands via sudo.## Defaults env_keep += "HOME"Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin## Next comes the main part: which users can
Time of Update: 2018-12-05
我們先寫一個簡單的指令碼,執行以後再解釋各個變數的意義 # touch variable# vi variable 指令碼內容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"echo "show parm list:$*"echo "show process id:$$"echo "show precomm stat: $?"儲存退出 賦予指令碼執行許可權 #
Time of Update: 2018-12-05
Linux 中的alias address 作者: 小馬哥 rstevens (rstevens2008@hotmail.com)歡迎轉載,未經允許,請勿用於商業目的Linux 允許一個網路介面擁有多個 IPv4 地址,除了第一個地址外,其它的稱為 alias 地址 通過 ‘ifconfig’ 可以添加一個 alias 地址。例如以下命令,為 eth0 添加一個新的地址 192.168.2.2, # ifconfig eth0:0 192.168.2.2 用 ‘ifconfig’
Time of Update: 2018-12-05
%ftp 主機名稱/IP /*登入ftp伺服器,會提示輸入使用者名稱和密碼*/匿名登入:使用者名稱輸入:anonymous 密碼輸入:一個郵箱格式的任一字元串FTP>ascii: 設定以ASCII方式傳送檔案(預設值) FTP>bell: 每完成一次檔案傳送,警示提示. FTP>binary: 設定以二進位方式傳送檔案. FTP>bye: 終止主機FTP進程,並退出FTP管理方式. FTP>case:
Time of Update: 2018-12-05
前一篇部落格還寫了自己寫的連接埠轉寄工具,今天偶然在網上看到講具名管道和netcat配合的用法,被徹底雷倒了。 原來以為netcat做不到,原來是自己想不到,而不是netcat做不到…… 方法如下: $ mknod backpipe p 建立一個具名管道. listener-to-client 轉寄: $ nc -l -p [localport] 0< backpipe | nc [target ip] [port] |
Time of Update: 2018-12-05
這篇文章簡單的介紹了如何為linux添加一個系統調用。也就是為linux增加一個api函數。通過這篇文章,應該學會如何 簡單的修改linux原始碼、編譯核心。 首先:1: cd /usr/src/linux/kernel 2: vi sys.c 並添加如下一個函數: asmlinkage int sys_mycall(int num) { return num;} 3. cd /
Time of Update: 2018-12-05
一、一些常規中舉的C考題第一題:寫出下述程式結果:int m[][3] = {1,4,7,2,5,8,3,6,9};int i, j, k = 2;for (i = 0; i < 3; i++) {printf(“%d”, m[k][i]);}問題所在:本題考點一眼就可以看出,二重數組啦!第二題:下列哪個引用是不正確的?int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;(A) a[p-a]; (B) *(&a[i]); (c)
Time of Update: 2018-12-05
面試題是一套筆試題,比較經典(閉卷,100分鐘完卷,最好寫出解題步驟),若你能答對百分之七八十,說明你一隻腳踏進了linux編程的大門,若你能答對百分之九十以上,你收我做弟子(可憐可憐我吧),你若不及格,那就跟我一樣:菜鳥! 一、基礎題: 1.請列舉出你用過的LINUX發行版及其中的GCC版本、GLIB版本 2.ISO七層參考模型中的PPP協議、HTTP協議處於哪一層? 3.說出TCP和UDP的相同和不同之處 4.IP資料包頭部是多長?146.0.0.0屬於哪一類IP地址?
Time of Update: 2018-12-05
本文假定你有CD-ROM光碟機以及Linux Live CD (如Ubuntu),並使用GRUB作為bootloader。安裝好Windows基本系統後,用Live CD啟動,進入Linux案頭,開啟Terminal,sudo -s切換到root,然後執行如下步驟: # grub grub> root (hd0,7) grub> setup (hd0) grub> quit # shutdown -r
Time of Update: 2018-12-05
B Useful Linux commands• man {command}: This opens the help file for the specified command. For example, type manpwd.• pwd: Print working directory.• ls: List files.• cd: Change directory.• mkdir: Create a new directory.• cp: Copy a file.• cp -r: