原创 Linux內核模塊-導出符號表(五)

一、簡介   如果一個模塊需要向其他模塊導出符號(方法或全局變量),需要使用:          EXPORT_SYMBOL(name);          EXPORT_SYMBOL_GPL(name);  注意:符號必須在模塊文件的

原创 Java中null和""的疑問

public class ArrToStr { static String str ; static String str1 = ""; static String str2 = ""; public static void

原创 詳解C語言可變參數 va_list和_vsnprintf及printf實現

C語言的變長參數在平時做開發時很少會在自己設計的接口中用到,但我們最常用的接口printf就是使用的變長參數接口,在感受到printf強大的魅力的同時,是否想挖據一下到底printf是如何實現的呢?這裏我們一起來挖掘一下C語言變長參數的

原创 標準C程序設計(三)

8 字符數組與字符串   8.1 字符串變量的聲明與初始化       char city[9] = "New Yourk";char city[9] = {'N', 'e', 'w', 'Y', 'o', 'r', 'k', '\0'}

原创 標準C程序設計(四)

9 用戶自定義函數    9.1 返回多個值的函數    一般我們使用return語句只能返回一個值,假設我們需要從函數中獲得更多的信息該怎麼辦?在C語言中,我們可以使用參數,不僅接收信息,而且還往調用函數返回信息。用於返回信息的參數稱爲

原创 標準C程序設計(一)

1 自定義類型的聲明 1.1    自定義數據類型標識符可用於聲明變量。一般形式: typedef type identifier      例如: typedef int units;其中units表示int類型。 隨後就可以用他們來

原创 標準C程序設計(二)

5 數組    5.1 二維數組的初始化 //數組的初始化是逐行進行的int table[2][3] = {{0, 0, 0}, {1, 1, 1}};int table[2][3] = {     {0, 0, 0},     {1

原创 標準C程序設計—define和typedef區別

代碼示例: /** 版本: 2014/06/18 功能: 溫度轉換問題 關鍵: define和typedef的使用 */ #include <stdio.h> #include <stdlib.h> //符號常量

原创 標準C程序設計(六)

11 指針     11.1 理解指針     在C語言中,指針是一種派生數據類型。它是從C語言的一種基本數據類型創建而來的。指針以內存地址作爲其值。由於內存地址表示在計算機內存中保存程序指令和數據的位置,因而可用指針來直接訪問和操作存

原创 【排序算法】選擇排序(C++實現)

選擇排序算法就是每一趟從待排序的記錄中選出關鍵字最小(最大)的記錄,順序放在已排好序的子文件的最後(最前),直到全部記錄排序完畢。常見的選擇排序有直接選擇排序(Selection Sort),堆排序(Heap Sort),平滑排序(Sm

原创 對象的串行化(Serialization)

一、串行化的概念和目的  1.什麼是串行化              對象的壽命通常隨着生成該對象的程序的終止而終止。有時候,可能需要將對象的狀態保存下來,在需要時再將對象恢復。我們把對象的這種能記錄自己的狀態以便將來再生的能力。叫作對

原创 控制檯程序的中文輸出亂碼問題,printf,wprintf與setlocale

#include <stdio.h> #include <wchar.h> int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("1

原创 標準C程序設計(五)

10 結構體與共用體    10.1 結構體的定義    數組可以用來表示一組相同類型的數據項。但是,如果要用一個名稱來表示不同類型的數據集合,就不能用數組了。C語言支持一種結構化的數據類型,稱爲結構體。它是一種封裝不同類型的數據的機制。

原创 Linux內核模塊-剖析內核模塊(六)

 1.內核模塊對象   LKM 只不過是一個特殊的可執行可鏈接格式(Executable and Linkable Format,ELF)對象文件。通常,必須鏈接對象文件才能在可執行文件中解析它們的符號和結果。由於必須將 LKM 加載到

原创 cmd下運行Java程序遇到java.lang.NoClassDefFoundError

  首先,我是爲了瞭解main()函數裏的參數纔在Eclipse上編寫了這個代碼做測試。 然後爲了能方便的輸入參數查看運行結果,我在cmd下執行。 我們都知道,java.lang.NoClassDefFoundError 錯誤指的是類名