當前位置:首頁 » 編程軟體 » 靜態編譯動態編譯

靜態編譯動態編譯

發布時間: 2022-08-04 01:07:28

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

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

2. 什麼是靜態編譯,什麼是動態編譯,以及他們的區別

後者容易擴充,前者運行效率高,但一旦有更新,要全部重新編譯

3. 靜態編譯和動態編譯有何不同

靜態編譯就是把庫函數編譯到你的程序里 這樣編譯的好處是 可以適應不同的平台 如果你是用window系統的話不建議用靜態編譯 因為這樣會使你的代碼量增大
動態編譯就是不把庫函數編譯到你的程序里

4. 易語言裡面一般用靜態編譯還是用動態編譯用哪種好! 詳解謝謝 我是個新手越詳細月好! 多謝啦!

我喜歡用靜態編譯,因為會打包為一個EXE文件,非常方便,而且它生成的靜態編譯EXE是仿C++的格式,因此很多殺毒軟體不會查殺,防止了誤報.
但有些支持庫不支持靜態編譯,這時,只好使用動態編譯了,而用動態編譯後,要將所用到的支持庫文件都拷貝到EXE同在的目錄中,最後用INNO SETUP打包發布才行.

5. 動態編譯和靜態編譯有何主要區別

靜態編譯與動態編譯的區別
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。
2、靜態編譯就是編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。所以其優缺點與動態編譯的可執行文件正好互補。

6. 在易語言里,什麼叫做靜態編譯,什麼叫做動態編譯那可以生成安裝包的是什麼編譯具體見補充

靜態編譯.就是單獨形成一個EXE執行文件..這個文件可以直接發送給別人用.
動態編譯.會在EXE執行文件生成後.另多一個文件..這個文件是這個執行文件的支招庫文件..必須和EXE執行文件在同一文件夾時..才能執行EXE文件

7. Java代碼的靜態編譯和動態編譯中的問題是什麼

Java代碼正常是靜態編譯成位元組碼,由對應平台的JVM載入執行,靜態編譯無法動態擴展功能。動態編譯有兩種方式實現:

  1. 源碼編譯,需要調用Java Compiler,程序需要運行於JDK(而不是JRE)之上。

  2. 動態位元組碼生成技術(如CGLib、ASM)創建類。

動態編譯可以簡化代碼,增強類功能,但也帶來了代碼復雜度,線上不易維護。

8. 請哪位來解釋一下Qt靜態編譯和動態編譯的區別

靜態編譯與動態編譯的區別:
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。
所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。
缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。

9. Qt如何實現靜態編譯與動態編譯共存

通常不需要在系統變數中加入Qt庫的位置的。Qt Creator可以自動掃描到系統中存在的Qt庫版本,如果掃描不到,可以通過Creator的 Tool->Options->Qt4中添加靜態庫的路徑。而QDevelop雖然沒有那麼智能,但是可以手動指定INCLUDE和LIB的位置。或許,這根本就不是一個問題。如果懷念動態庫,或者在產品發布之前並不想體驗靜態編譯那種蝸牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要記得在Project中選擇相應的版本。

10. 怎樣區別APACHE動態和靜態編譯

關於apache的動態與靜態編譯的理解,引用某人的比喻如下:
好比有兩個人a和m,a代表apache,m代表mole,要想讓a使用m的東西,一個方法是把m的東西都放到a那裡去,a使用的時候就是現成的了,就是所謂的靜態編譯
還有一個方法,就是告訴a,m的住址,當a要使用m的東西的時候,a去找m,然後使用,不過,這種方法要注意的一個問題就是:m必須要有實際的住址,否則a會找不到m而產生錯誤的,這種方法也就是apache 的動態(DSO)編譯了。
下面說說在apache1.3和apache2.0動態與靜態編譯編譯的區別
首先是apache1.3.29+php4.3.4+mysql4.0.13的靜態編譯
apache第一次編譯,並不要安裝,因為php的編譯需要apache至少已經編譯過一次
tar zvxf apache_1.3.27.tar.gz
cd apache_1.3.27
./configure --prefix=/usr/local/apache
編譯php
tar zvxf php4.3.4.tar.gz
cd php4.3.4
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.27
make
make install
第二次編譯安裝apache:
cd ../apache_1.3.29
./configure --prefi=/usr/local/apache --activate-mole=src/moles/php4/libphp4.a
make
make install
cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

修改/usr/local/apache/conf/httpd.conf
查找<IfMole mod_mime.c>
在此范圍添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注意:apache和php的源碼包在同一個目錄,--with-apache=../apache_1.3.27是指向源碼解壓的目錄
ok!靜態編譯完成。
再看DSO動態編譯方法:
首先編譯安裝apache
tar zvxf apache_1.3.29
cd apache_1.3.29
./configure --prefix=/usr/local/apache --enable-mole=so --enable-mole=rewrite --enable-shared=max
make
make install
so模塊用來提供DSO支持的apachehe核心模塊,rewrite是地址重寫的模塊,如果不需要可以不編譯enable-shared=max是指除了so以外的所有標准模塊都編譯成DSO模塊。

然後編譯php
tar zvxf php4.3.4.tar.gz
cd php4.3.2
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs
make
make install
然後修改httpd.conf,方法同靜態編譯的方法
OK,DSO動態編譯就完成了!

接下來我們講apache2.0.46+php4.3.2的動態編譯方法
一樣先編譯安裝apache
tar zvxf httpd-2.0.46.tar.gz
cd httpd-2.0.46
./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
make
make install

大家注意了--enable-so相當與1.3.27的--enable-mole=so,而--enable-mods-shared=most又等同與以前的--enable-shared=max
然後還是編譯PHP
tar zvxf php4.3.2.tar.gz
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs
make
make install
注意這里是apxs2!!
修改httpd.conf與1.3.27也有所不同,大家尋找Add Type application/x-tar .tgz 在下面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
另外要顯示中文的話,請修改:
AddDefaultCharset gb2312

熱點內容
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:961
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:489
改裝配置後不想重啟怎麼辦 發布:2025-02-09 06:36:40 瀏覽:446
演算法復雜度定義 發布:2025-02-09 06:30:46 瀏覽:587