導航:首頁 > 源碼編譯 > 用驅動進行編譯和不用的區別

用驅動進行編譯和不用的區別

發布時間:2022-03-13 22:40:15

A. 在同一編譯單元用extern和不用有什麼區別

對函數來說沒區別,不用extern的函數默認就是extern的,即其他文件也可以調用這個函數;但對變數來說有區別,不用extern聲明變數的話,變數默認是static的,其他文件不能使用這個變數。那麼如果所有函數和變數都只放在一個文件里進行編譯,用不用extern就沒有任何區別了。

B. 驅動和軟體什麼區別

一、主體不同

1、驅動:是指驅動計算機里軟體的程序。

2、軟體:是一系列按照特定順序組織的計算機數據和指令的集合。

二、特點不同

1、驅動:是添加到操作系統中的特殊程序,其中包含有關硬體設備的信息。此信息能夠使計算機與相應的設備進行通信。

2、軟體:並不只是包括可以在計算機(這里的計算機是指廣義的計算機)上運行的電腦程序,與這些電腦程序相關的文檔一般也被認為是軟體的一部分。


三、作用不同

1、驅動:是硬體廠商根據操作系統編寫的配置文件,可以說沒有驅動程序,計算機中的硬體就無法工作。

2、軟體:軟體的開發和運行必須依賴於特定的計算機系統環境,對於硬體有依賴性,為了減少依賴,開發中提出了軟體的可移植性。


C. 配置linux內核的時候,驅動的靜態編譯和動態編譯有什麼區別

驅動的動態編譯會生成.ko文件,系統啟動後需要載入該驅動後才能使用相應設備。
而靜態編譯則直接編譯進內核,系統啟動的時候會自動載入該驅動。
靜態編譯太多驅動至內核,會導致內核體積過大,啟動時間較長。而動態編譯則比較自由靈活,需要用的時候即載入,不需要的時候即卸載。我以前在EasyARM-iMX280的學習手冊里看到寫得很清楚,你可以去看看的。

D. 攝像頭有驅動和不用驅動,有什麼區別

攝像頭如果不安裝相應的驅動程序,系統就無法識別它。當然結果就是不能在系統下使用攝像頭了。其實所有的硬體都需要相應的驅動程序才能夠在系統下正常運作。所謂的免驅動程序其實指的是系統自帶了部分設備的驅動程序,這些設備的廠家已經跟系統廠家合作或協議過。某些產品的驅動就附帶在系統軟體里了。這樣那些跟系統廠家合作的生產商生產的產品即使沒有配驅動軟體,系統也能夠正常識別並自動安裝驅動程序。具體是有驅動的貴還是沒驅動的貴這個問題很難講清楚,有驅動的也有貴的沒驅動的也有貴的,要看產品的品質新能而定。一般來說不需要驅動的設備使用起來比較方便就是了。

E. 驅動和驅使的區別

驅動與驅使是近義詞,硬要找不同的話。可以這么認為:『驅動』實施的主體一般為抽象的東西概念比方說利益,理想等等,而『驅使』的主體一般則為有形的有行為能力的個人,團體組織(包括妖魔鬼怪哦)。

F. 系統跟驅動有什麼區別

很簡單的來說 系統:是一管理電腦硬體與軟體資源的程序,同時也是計算機系統的內核與基石 。 驅動:驅動程序即添加到操作系統中的一小塊代碼,其中包含有關硬體設備的信息。有了此信息,計算機就可以與設備進行通信。驅動程序是硬體廠商根據操作系統編寫的配置文件,可以說沒有驅動程序,計算機中的硬體就無法工作。操作系統不同,硬體的驅動程序也不同,各個硬體廠商為了保證硬體的兼容性及增強硬體的功能會不斷地升級驅動程序。如:Nvidia 顯卡晶元公司平均每個月會升級顯卡驅動程序2-3次。驅動程序是硬體的一部分,當你安裝新硬體時,驅動程序是一項不可或缺的重要元件。凡是安裝一個原本不屬於你電腦中的硬體設備時,系統就會要求你安裝驅動程序,將新的硬體與電腦系統連接起來。驅動程序扮演溝通的角色,把硬體的功能告訴電腦系統,並且也將系統的指令傳達給硬體,讓它開始工作。 當你在安裝新硬體時總會被要求放入「這種硬體的驅動程序」,很多人這時就開始頭痛。不是找不到驅動程序的碟片,就是找不到文件的位置,或是根本不知道什麼是驅動程序。比如安裝列印機這類的硬體外設,並不是把連接線接上就算完成,如果你這時候開始使用,系統會告訴你,找不到驅動程序。怎麼辦呢?參照說明書也未必就能順利安裝。其實在安裝方面還是有一定的慣例與通則可尋的,這些都可以幫你做到無障礙安裝。 在Windows系統中,需要安裝主板、光碟機、顯卡、音效卡等一套完整的驅動程序。如果你需要外接別的硬體設備,則還要安裝相應的驅動程序,如:外接游戲硬體要安裝手柄、方向盤、搖桿、跳舞毯等的驅動程序,外接列印機要安裝列印機驅動程序,上網或接入區域網要安裝網卡、Modem甚至ISDN、ADSL的驅動程序。說了這么多的驅動程序,你是否有一點頭痛了。下面就介紹Windows系統中各種的不同硬體設備的驅動程序,希望能讓你撥雲見日。

G. 驅動編譯進內核和編譯模塊的區別

第一次把自己編譯的驅動模塊載入進開發板,就出現問題,還好沒花費多長時間,下面列舉出現的問題及解決方案1:出現insmod:errorinserting'hello.ko':-1Invalidmoleformat法一(網上的):是因為內核模塊生成的環境與運行的環境不一致,用linux-2.6.27內核源代碼生成的模塊,可能就不能在linux-2.6.32.2內核的linux環境下載入,需要在linux-2.6.27內核的linux環境下載入。a.執行uname-r//查看內核版本b.一般出錯信息被記錄在文件/var/log/messages中,執行下面命令看錯誤信息#cat/var/log/messages|tail若出現類似下面:Jun422:07:54localhostkernel:hello:versionmagic'2.6.35.6-45.fc14.i686.PAE'shouldbe'2.6.35.13-92.fc14.i686.PAE'則把Makefile里的KDIR:=/lib/moles/2.6.35.6-45.fc14.i686.PAE/build1改為KDIR:=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1//改成自己內核源碼路徑(這里的build1是一個文件鏈接,鏈接到/usr/src/kernels/2.6.35.6-45.fc14.i686.PAE和13-92的)然並卵,我的fedora14/usr/src/kernels下並沒有2.6.35.13-92.fc14.i686.PAE,只有2.6.35.13-92.fc14.i686,雖然不知道兩者有什麼區別,但改成2.6.35.13-92.fc14.i686還是不行,照樣這個問題,還好後來在看教學視頻的到啟發法二:改的還是那個位置KDIR:=/opt/FriendlyARM/linux-2.6.32.2//把這里改成你編譯生成kernel的那個路徑all:$(MAKE)-C$(KDIR)M=$(PWD)molesARCH=armCROSS_COMPILE=arm-linux-//加這句2.[70685.298483]hello:molelicense'unspecified'taintskernel.[70685.298673]方法:在模塊程序中加入:MODULE_LICENSE("GPL");3.rmmod:chdir(2.6.32.2-FriendlyARM):Nosuchfileordirectory錯誤解決方法:lsmod可查看模塊信息即無法刪除對應的模塊。就是必須在/lib/moles下建立錯誤提示的對應的目錄((2.6.32.2)即可。必須創建/lib/moles/2.6.32.2這樣一個空目錄,否則不能卸載ko模塊.#rmmodnls_cp936rmmod:chdir(/lib/moles):Nosuchfileordirectory但是這樣倒是可以卸載nls_cp936,不過會一直有這樣一個提示:rmmod:mole'nls_cp936'notfound初步發現,原來這是編譯kernel時使用makemoles_install生成的一個目錄,但是經測試得知,rmmod:mole'nls_cp936'notfound來自於busybox,並不是來自kernel1).創建/lib/moles/2.6.32.2空目錄2).使用如下源碼生成rmmod命令,就可以沒有任何提示的卸載ko模塊了[luther.gliethttp]#include#include#include#include#include#includeintmain(intargc,char*argv[]){constchar*modname=argv[1];intret=-1;intmaxtry=10;while(maxtry-->0){ret=delete_mole(modname,O_NONBLOCK|O_EXCL);//系統調用sys_delete_moleif(retread_proc=procfile_read;////Our_Proc_File->owner=THIS_MODULE;Our_Proc_File->mode=S_IFREG|S_IRUGO;Our_Proc_File->uid=0;Our_Proc_File->gid=0;Our_Proc_File->size=37;printk("/proc/%screated\n",procfs_name);return0;}voidproc_exit(){remove_proc_entry(procfs_name,NULL);printk(KERN_INFO"/proc/%sremoved\n",procfs_name);}mole_init(proc_init);mole_exit(proc_exit);[html]viewplainifneq($(KERNELRELEASE),)obj-m:=proc.oelseKDIR:=/opt/FriendlyARM/linux-2.6.32.2#KDIR:=/lib/moles/2.6.35.13-92.fc14.i686.PAE/build1PWD:=$(shellpwd)all:$(MAKE)-C$(KDIR)M=$(PWD)molesARCH=armCROSS_COMPILE=arm-linux-clean:rm-f*.ko*.o*.mod.o*.mod.c*.symversendifmake後生成proc.ko,再在開發板上insmodproc.ko即可執行dmesg就可以看到產生的內核信息啦

H. 驅動和編譯器是否有些非常相似的地方呢用自己的話說

從哲學上說,他們都是作為介面而存在。操作系統通過驅動程序控制對應的硬體,高級程序設計語言通過編譯器變成目標機器的機器語言。

I. 為啥有的滑鼠要驅動有的不用有啥區別么

任何滑鼠都需要驅動。不需要驅動的是因為電腦本身已經安裝了滑鼠驅動。需要驅動的是因為,滑鼠型號比較少見或者是新出來的,電腦中沒有該型號的驅動,所以需要安裝相應型號的驅動

閱讀全文

與用驅動進行編譯和不用的區別相關的資料

熱點內容
甄嬛傳東方衛視源碼 瀏覽:211
linuxpython下載安裝 瀏覽:934
人工免疫演算法matlab 瀏覽:655
黑客點擊指標源碼 瀏覽:813
農場源碼搭建 瀏覽:307
phpfopen讀取 瀏覽:111
linuxc暫停 瀏覽:833
海康的雲伺服器的作業 瀏覽:132
pdf組織技術 瀏覽:402
鋼筋加密區原位標注怎麼確定跨數 瀏覽:366
微信小程序朋友圈發消息源碼 瀏覽:209
手機連接伺服器在什麼設置 瀏覽:931
linux關閉httpd 瀏覽:80
劍與家園伺服器怎麼樣 瀏覽:173
金蜘蛛源碼公式 瀏覽:821
java自定義監聽 瀏覽:983
明星公仔娃娃app叫什麼 瀏覽:341
拼多多程序員價格 瀏覽:78
離上班的地方13公里源碼 瀏覽:563
共產主義pdf 瀏覽:834