Time of Update: 2018-12-04
在VFS的支援下,使用者態進程讀寫任何類型的檔案系統都可以使用read和write著兩個系統調用,但是在linux核心中沒有這樣的系統調用我們如何操作檔案呢?我們知道read和write在進入核心態之後,實際執行的是sys_read和sys_write,但是查看核心原始碼,發現這些操作檔案的函數都沒有匯出(使用EXPORT_SYMBOL匯出),也就是說在核心模組中是不能使用的,那如何是好? 通過查看sys_open的源碼我們發現,其主要使用了do_filp_open()函數,該函數在fs/nam
Time of Update: 2018-12-04
一. NTFS 寫問題:resolv the problem that can't write file in NTFS file system on Linux:mount -t ntfs-3g /dev/sda3 /mnt/windFATAL: Module fuse not found.NTFS signature is missing.Failed to mount '/dev/sda3': Invalid argumentThe device '/dev/sda3' doesn't
Time of Update: 2018-12-04
來到ESRI之後,苦惱的是這是一個廣泛採用微軟產品的地方。可是對我而言在Ubuntu下寫程式和生活已經成了一種享受(微軟的環境在我剛入行的時候我很沉迷)。第一件要解決的事情就是如何能夠收到來自exchange server的email,日曆事件以及meeting。由於必須使用正版的office2010才能串連上exchange server(我們的exchange server只允許用戶端通過135連接埠串連),事情變得比較麻煩。可行的方式有三種:1.wine 1.4 +
Time of Update: 2018-12-04
下面是在我的Ubuntu下的/usr目錄下的檔案資訊:chenshu@ubuntu:/usr$ ls -alhtotal 147Mdrwxr-xr-x 14 root root 4.0K Jul 5 18:36 .drwxr-xr-x 24 root root 4.0K Jun 30 11:08 ..drwxr-xr-x 6 root root 4.0K May 10 06:25 apache-maven-3.0.4drwxr-xr-x 2
Time of Update: 2018-12-04
每次都去查,總是記不住,最終還是在這裡做個筆記吧。添加使用者useradd和adduser都能添加使用者,區別是:1.adduser會提示設定密碼,而useradd不會。2.adduser會建立使用者目錄,比如/home/freebird freebird是使用者,useradd不會3.adduser會建立使用者組,預設和使用者名稱相同4.adduser會詢問全名,房間號碼,電話號碼等使用者資訊,useradd不會下面是用adduser建立的例子:root@ubuntu1204-dell:~#
Time of Update: 2018-12-04
理解Linux雙向鏈表原文:http://blog.csdn.net/leisure512/article/details/5188986我截取其中一部分,並加了圖解。Linux核心中雙向鏈表hlist_head,它的定義:struct hlist_head { struct hlist_node *first;};struct hlist_node { struct hlist_node *next,
Time of Update: 2018-12-04
跨瀏覽器外掛程式架構FireBreath安裝與使用之二——Linux下的外掛程式cheungmine2012-9關鍵詞:Linux, Plugin, Firefox參考文章地址:http://www.firebreath.org/display/documentation/Building+on+Linux本文試圖用最清晰的步驟說明如何在Linux(Ubuntu
Time of Update: 2018-12-04
自己寫的幾個Linux 和 Windows 讀ini設定檔的函數cheungmine2012// testini.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include <string.h>////////////////////////////////////////////////////////////////////#define
Time of Update: 2018-12-04
運行嵌入式程式在嵌入式QT版本中,程式需要伺服器或自己作為伺服器程式。伺服器程式構造的方法是構造一個QApplication::GuiServe類型的QApplication對象。或者使用-qws命令選項啟動程式。Using a Single Display使用-qws選項接下來的程式可以當做用戶端來運行,只要不使用-qws選項。那麼用戶端程式就會自動連接到服務程式中。using Mutiple
Time of Update: 2018-12-04
【轉】製作.ppm格式Linux核心啟動logo 在做的產品中,採用預設的小企鵝做logo肯定是不行的,所以一定要替換個像樣的企業logo圖片! 以前做過Linux啟動Logo,時間太久,給忘了,所以再從新研究下。 經過在網上的搜尋,和實際驗證,製作Linux啟動logo的步驟如下: 1、在Linux系統中安裝所需的包netpbm。我用的Fedora 10,剛開始安裝命令是yum install
Time of Update: 2018-12-04
原創 轉載請註明 我們知道linux的UDP是面向不需連線的,但是TCP是連線導向,所以UDP伺服器可以並發處理,但是TCP由於是連線導向,一次通訊只能和一個用戶端相連,所以要想實現並發處理,可以使用fork()建立子進程來實現,編程模式如下: 服務端:#include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <netdb.h&
Time of Update: 2018-12-04
Linux終端提示關鍵字: linux 終端 今天才發現Linux下的終端有這麼多好用的快速鍵。 Shift+Ctrl+T:建立標籤頁 Shift+Ctrl+W:關閉標籤頁 Ctrl+PageUp:前一標籤頁 Ctrl+PageDown:後一標籤頁 Shift+Ctrl+PageUp:標籤頁左移 Shift+Ctrl+PageDown:標籤頁右移 Alt+1:切換到標籤頁1 Alt+2:切換到標籤頁2 Alt+3:切換到標籤頁3 Shift+Ctrl+N:建立視窗
Time of Update: 2018-12-04
http://fxr.watson.org/fxr/source/include/linux/fs.h?v=linux-2.4.22#L563 struct file {564 struct list_head f_list;565 struct dentry *f_dentry;566 struct vfsmount *f_vfsmnt;567 struct
Time of Update: 2018-12-04
linux chmod 命令詳解chmod命令是非常重要的,用於改變檔案或目錄的存取權限。使用者用它控制檔案或目錄的存取權限。該命令有兩種用法。一種是包含字母和操作符運算式的文字設定法;另一種是包含數位數字設定法。1. 文字設定法chmod [who] [+ | - | =] [mode] 檔案名稱? 命令中各選項的含義為:操作對象who可是下述字母中的任一個或者它們的組合:u 表示“使用者(user)”,即檔案或目錄的所有者。g
Time of Update: 2018-12-04
這篇文章算是個小白貼,高手完全可以忽視如果,你有一個程式,一個板子,一個檔案系統,一台電腦,一根串口線,卻不知道該如何著手,讓板子運行你的程式,一籌莫展,那你應該看下這篇文章現在開始教學第一步,建立tftp伺服器tftp伺服器是為了在你那隻有一個板子的裝置上,搭建好你所需要的IDE,不同的板子可以選擇的檔案系統也有很多,我現在用的是jffs2,個人感覺用起來不是很好用。在進行下面的步驟之前,你應該瞭解什麼是tftp,這個問題,你可以百度。搭建的步驟如下:圖片比文字的描述要強一千倍,看不懂的面壁這
Time of Update: 2018-12-04
Linux下應用程式開發:QT的內部進程通訊http://www.lupaworld.com/tutorial-view-aid-7177.html Qt 作為一種跨平台的基於 C++ 的 GUI 系統,能夠提供給使用者構造圖形化使用者介面的強大功能。自從 1996 年 Qt 被 Trolltech 公司發布以來,該系統成為世界上很多成功的圖形使用者應用所使用的主要系統。更為重要的是,Linux 作業系統的案頭環境系統 KDE 也是基於 Qt 構造的。目前,Qt 已經提供了對包括
Time of Update: 2018-12-04
在Linux下使用管道進行編程http://www.lupaworld.com/tutorial-view-aid-10366.html 簡介本文中,我們將學習GNU/Linux管道。管道模型雖然很老但是就算是現在它仍然是一個十分有用的處理序間通訊機制。我們將會學習什麼是半雙向管道以及有名管道。它們都提供了一個FIFO(先進先出)排隊模型來允許處理序間通訊。 管道模型一個形象化管道的描述為——一個在兩個實體之間的單向連接器。例如,讓我們來看一看下面的這個GNU/Linux命令:ls -1 |
Time of Update: 2018-12-04
在模組裡嘗試自己實現了個隊列, 在多進程(核心裡應該叫做多線程吧)操作時會出問題。也曾嘗試解決遇到的問題,但由於自己核心開發功夫上籤,最終還是失敗了 ....後來還是採取了核心的實現 kfifo(include/linux/kfifo.h), kfifo在 linux 標準核心>=2.6.10 添加, 這裡標準核心是因為 RHEL4.8 的核心版本是2.6.9(小於2.6.10)但是也有此資料結構,然後標準核心(www.kernel.org) <2.6.10
Time of Update: 2018-12-04
折騰了會 dll 覺得不爽,改玩 so 去:一. 編寫個C檔案:test.c#include<stdio.h>// file test.cint say(){ printf("Hello, Linux so\n"); return 0;}int add(int x, int y){ return x+y;}二. 編譯成動態庫 .so : ~ # gcc -shared -o test.so
Time of Update: 2018-12-04
System V or POSIX ?該使用哪個呢, 這是個問題 ...相對而言,我更傾向於後者 posix mqposix mq 的概況看這裡:man mq_overview簡單的實現代碼:#include <mqueue.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#define MY_MQ_NAME "/my_test_mq"#define MSG_LEN