#include <stdarg.h>#include <stdio.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>#include <errno.h>#include <signal.h>#include <sys/wait.h>#include <syslog.h>#include
#include <stdarg.h>#include <stdio.h>#include <signal.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>#include <errno.h>#include <sys/time.h>#include <sys/wait.h>#include
#include "unistd.h"#include "sys/types.h"#include "sys/socket.h"#include "netinet/in.h"#include "arpa/inet.h"#include "stdio.h"#include "string.h"#include #include #include #include void error(int status, int err,char *fmt, ...) { va_list ap;
和Windows系統一樣Linux也有靜態/動態連結程式庫,下面介紹建立和使用方法:假設有下面幾個檔案:標頭檔String.h,聲明相關函數原形,內容如下:Strlen.c:函數Strlen的實現,擷取給定字串的長度,內容如下:Strlnen.c:函數StrNlen的實現,擷取給定字串的長度,如果輸入字串的長度大於指定的最大長度,則返回最大長度,否者返回字串的實際長度,內容如下:產生靜態庫: 利用GCC產生對應目標檔案:gcc –c Strlen.c
//server_wait.c#include "unistd.h"#include "sys/types.h"#include "sys/socket.h"#include "netinet/in.h"#include "arpa/inet.h"#include "stdio.h"#include "string.h"#include <netdb.h>#include <stdarg.h>#include <errno.h>#include
在小烏的眼裡,庫檔案就是資源檔,也沒有什麼難以理解的;可是如果真要問得深入一點:“動態連結程式庫和靜態連結庫有什麼區別?”,“怎麼做一個動態連結程式庫?”,“怎麼產生靜態/動態連結程式庫?”,“什麼叫顯示/隱示調用?”。。。小烏就鬱悶了,所以今天決定要拍死這些問題。Window下面的動/靜態連結庫檔案名稱分別為:.dll和.lib;Linux下則為:.so或.so.x和.a;.so檔案的標準形式應該為:libxxx.so或libxxx.so.y,首碼的lib是為了系統能識別它,尾碼的.y則是版本
#include <stdarg.h>#include <stdio.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>#include <errno.h>#include <sys/select.h>#include <math.h>void process_client(int s) { char
MeeGo的源碼是通過git工具來管理的,我們可以通過源碼的git地址進行下載,但是http://meego.gitorious.org/此網址上面提供的都是模組的git地址,如果一個模組一個模組下載的話,那豈不累死,呵呵~所以通過安裝repo工具,用repo工具進行全部下載。1.git安裝sudo apt-get install git-core curl 2.repo安裝 首先在使用者主目錄下面建立一個檔案夾bin,然後把該路徑加入到環境path裡面,具體方法如下: 編輯~
Git是一個分布式的版本控制工具,本篇文章從介紹Git開始,重點在於介紹Git的基本命令和提示,讓你嘗試使用Git的同時,體驗到原來一個版本控制工具可以對開發產生如此之多的影響,文章分為兩部分,第一部分介紹Git的一些常用命令,其中穿插介紹Git的基本概念和原理,第二篇重點介紹Git的提示,最後會在Git
um的相關操作(包含源的添加、YUM的設定檔、出錯的解決及一些常用命令)(1)添加livna源操作步驟:步驟1:下載livna-release-7.rpm[root@localhost home]# wget [url]http://rpm.livna.org/livna-release-7.rpm[/url]步驟2:安裝livna-release-7.rpm[root@localhost home]# rpm -ivh
在Ubuntu 10.10下成功編譯核心linux-2.6.37-rc4:以下是操作步驟,以供參考;1. 在 這裡 下載linux-2.6.37-rc4,你可以選擇穩定版或者新的測試版,但一定要下載Full source版。 2.安裝有關編譯器。安裝make ,gcc, make-kpkg,運行xconfig等等和編譯核心相關的工具.執行;sudo apt-get install build-essential kernel-package libncurses5-dev
核心版本要編譯一個最新的核心,您需要首先下載它的原始碼。在您下載核心的原始碼前,您要知道到您要找什麼。首先要問您自己的問題是 -- 您需要一份穩定的還是測試版的核心?穩定版核心通常版本號碼第二位用偶數數字 -- 例如, 2.0.38、2.2.15、2.2.18 和 2.4.1 是被認為是"穩定"的核心(分別由於其包含 0、2、2 和 4)。如果您想嘗試測試版核心,您通常需要找那些版本號碼第二位是奇數的號碼又最高的核心。例如,2.3.99 和 2.1.38 都是測試版核心(分別由於其包含 3 和
方法有兩種: 1.切換到別的文字介面(用ALT+CTRL+F1~6)登陸以後,可以採用這個命令:killall X 2.vi /etc/inittab把default5 改為default3如果想啟動後不讓系統在圖形下登陸,直接進入字元狀態,則可以通過修改/etc/inittab檔案實現,方法如下(KDE下操作): 用右鍵點擊/etc/inittab檔案,選進階編輯器開啟該檔案,看到如下內容: # # inittab This
linux2.6核心成功編譯1) 需要的工具: (1) 模組工具:modutils-2.4.21-23.src.rpm //負責載入模組,在2.4之前是不需要單獨編譯 //模組存放位置:/lib/modules/核心版本目錄/kernel/drivers //lsmod: 查看已經載入的模組 (2) 原始碼:linux-2.6.9.tar.gz //選擇需要編譯的部分: 最新核心2.6.9 支援NTFS分區(
在學習linux的過程中,ubuntu無疑是初學者的最佳選擇。下面來列舉給Windows系統安裝ubuntu雙系統的三種方法。一、虛擬機器安裝(不推薦)使用工具:Vmware如果不是因為迫不得已,比如Mac
本文將直接了當的帶你進入linux的模組編譯。當然在介紹的過程當中,我也會添加一些必要的注釋,以便初學者能夠看懂。之所以要寫這篇文章,主要是因為從書本上學的話,可能要花更長的時間才能學會整個過程,因為看書的話是一個學習過程,而我這篇文章更像是一個培訓。所以實踐性和總結性更強。通過本文你將會學到編譯一個模組和模組makefile的基本知識。以及載入(卸載)模組,查看系統訊息的一些知識;聲明:本文為初學者所寫,如果你已經是一個linux模組編譯高手,還請指正我文章中的錯誤和不足,謝謝第一步:準備原始
最早接觸DMA的時候是大三的微機原理,當時不是很理解,什麼DMA模式啊,只知道是傳輸速度快,不經過CPU,但是到底是怎麼樣的不經過CPU呢?還是不理解。這次I2C控制器裡面帶了DMA的模式,所以有機會去接觸下了。 而具體的DMA的意思是什麼http://baike.baidu.com/view/32471.htm,百度百科裡還是不錯的。 DMA的工作過程:
首先看下經常用到的linux下的命令吧,用以以後方便查閱。具體用法直接在終端man命令就可以了。以下都是基於ubuntu的操作的。 1、cp和scp cp: 當前的電腦下的拷貝 scp:當前電腦和遠端電腦之間的拷貝 2、mv mv: 剪下,也可以當作重新命名來使用 3、rm rm: 刪除檔案 4、mkdir mkdir: 建立檔案夾 5、cd
和spi一樣,瞭解了協議後,還是看看具體的linux kernel中的i2c的一些資料結構吧。在include/linux/i2c.h中主要是以下這些資料結構:struct i2c_msg;struct i2c_algorithm;struct i2c_adapter;struct i2c_client;struct i2c_driver;union i2c_smbus_data;struct i2c_board_info; I2C的driver struct