編譯綁定
⑴ 前期綁定屬於編譯原理的知識嗎
編譯原理內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。 主要是講怎麼做程序的編譯器。 需要數學基礎和很強的邏輯思維。 編譯原理里的字元閉包是指有限循環。
⑵ java代碼的編譯期綁定和運行期綁定是什麼意思
如果打包成jar的話很好如果是exe的話就有點麻煩了可參考:想要把java生成可執行文件需要第三方軟體的支持,不過在沒有安裝JDK的機器上是不可能運行JAVA程序的,哪怕是編譯成為exe文件。將Java應用程序本地編譯為EXE的幾種方法(推薦使用JOVE和JET)1.從獲得一個TowerJ編譯器,該編譯器可以將你的CLASS文件編譯成EXE文件。2.利用微軟的SDK-Java4.0所提供的jexegen.exe創建EXE文件,這個軟體可以從微軟的網站免費下載,地址如下:7.Instantiations公司的JOVE/jove/ejovesystem.htmJOVE公司合並了以前的SuperCede,一個優秀的本地編譯器,現在SuperCede已經不復存在了。8.JToEXEBravoZuluConsulting,Inc開發的一款本地編譯器,本來可以從該公司的網頁上免費下載的,不過目前在該公司的主頁上找不到了。
⑶ linux下socket編譯時出現綁定錯誤
教你個調試方法,你把printf("bind error");換成printf("bind error: %s\n", strerror(errno)); 這樣可以看出哪裡出錯了.
我沒猜錯的話錯誤信息應該是"Address already in use." ,如果是這個錯誤的話,你再等一會從新運行server就可以了.
⑷ 捆綁器的編譯器捆綁法
暫時不知用什麼名字來形容,所以只能用這個來代替。這種方法相當的陰險。是將要捆綁的文件轉換成16進制保存到一個數組中。像這樣muma:array[0..9128] of Byte=(D,A,....);然後用時再用API函數CreateFile和WriteFile便可將文件還原到硬碟。這里稍稍學過編程的都知道。代碼中的數組經過編譯器、連接器這么一搞。連影都沒了。哪還能有什麼文件是吧?所以就這種方法而言,目前還沒有可以查殺的方法。這種方法可以利用編程輔助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas來實現。
最最毒辣的一種。因為暫時用的人較少,且危害性及查殺難度太大。[一個被殺的病毒直接捆綁就能免殺]所以就不公布了。此法查殺方法通用性極差。如果流行,估計大家連動畫都不敢下著看了。 可以利用一些第三方工具將硬碟和注冊表監視起來以後再運行那些你不確定是否被捆綁的程序。這樣,一旦硬碟出現變化,或有文件新建,或有文件改變都會被記錄在案。就算是查找起來也方便一點。
⑸ 誰會編譯器捆綁法
1.用一個一般的函數把文件讀入然後把數據以文本方式輸出到一個文件,例如,輸出像這樣char *code = {0x01, 0x45, 0x90, ...}; 2.重新建個工程,把剛才輸出文件中的數組code復制過來,當編譯器中的一個數組。在這個工程中寫個函數(可以調用CreateFile和WriteFile),把這個數組輸出到文件就行了(根據你的需要,應該保存為EXE文件) NOTE: 一般編譯器不支持大數組,數組太大(文件太大導致)會導致編譯失敗,你可以把數組當資源放文件中,也可以考慮切割下,應該可以騙騙殺毒軟體
⑹ 編譯器怎麼控制是否延遲綁定
下面我介紹一下吧:首先要明白這些文件時什麼文件,再用編譯器,例如:VC6.0,Dev C++等編譯環境中運行,你可以打開VC6.0界面,一般用得較多的是Win32控制台應用程序(源程序,擴展名.cpp),步驟是:1,建立一個工程,「文件」——「新建」,出現下面界面:選擇「Win32 Console Application」(控制台應用程序,左邊倒數第三個),命名工程名稱,選擇保存位置,點擊「確定」,進入下一步,看到如下提示界面:建立一個空工程,對應其他需要的你一可以建立別的工程;點擊「完成」,之後:顯示你創建的工程的信息。2,再在有一個的工程的條件下,我們再建立一個源文件;「文件」——「新建」(快捷鍵Ctri+N),出現:建立源文件,選擇「C++ Source 」,一般都是建立這種文件的(適用在當文件中適用)如果要建立頭文件的話,選擇「C/C++ Header File」,(適用在多文件工程中使用)命名,文件名稱,點擊「確定」,之後:進入編輯區,在主界面編寫代碼:如下編寫完之後呢:可以按編譯按鈕調試程序,看看有沒有錯誤,有的話改正,沒有的話就可以再按連接按鈕檢查連接(多文件工程時常用,檢查文件間是否正常連接),最後,點運行按鈕,就可以運行了 如果是樓主您有代碼如:cpp文件,或 .h 文件,想添加都VC6.0里來測試的話,可以這樣做:首先,要理解一下 文件擴展名為 ,cpp,和.h文件擴張名是.h,代表的話頭文件,一般是書寫一些函數原型,以及一些在整個程序中常用到的結構體,頻繁使用的函數說明,定義等等;文件擴張名為,cpp的,是C++中的源文件,也是最常用到的文件,每建立一個工程都要至少一個源文件(至少要有一個函數入口——主函數main() ),包含了核心代碼;建立與運行說明:(以VC 6.0編譯器為例,其他編譯器類似)首先,打開VC 6.0編譯環境;在菜單欄——文件(的下拉菜單中選擇「新建」),在彈出的選擇窗口中,選擇 Win32 Console Application(控制台應用程序) ,在填寫 程序名稱,選擇一個程序保存路徑,點擊「完成」,查看工程信息在點擊「確定」,級建立一個簡單的工程了!再點擊左邊的工程信息右下角的「FileView」選項;可以看到你新建的工程,再雙擊你新建的工程名 可以查看工程的信息在雙擊工程文件,在這里是 777.files,可以看到該工程的包含的文件:其中,Source Files 為包含所有工程的源文件Header Files 為包含所有工程的頭文件 在源文件選項「Source Files 」,右鍵單擊中的「添加目錄到工程」,添加你要打開的擴展名為 .cpp的源文件在頭文件選項「 Header Files」,右鍵單擊中的「添加目錄到工程」,添加你要打開的擴展名為 . h的頭文件添加完你所有的頭文件和源文件之後,檢查一下是否添加完畢,之後就可以編譯了, 其中第二個按鈕 為編譯按鈕,可以找出工程的錯誤信息,有錯誤修改,沒錯誤就可以跳到連接 ,編譯右邊的按鈕 ,即第三個按鈕(多文件工程一定要連接,查看文件是否准確相連接)當編譯,連接都沒有錯誤時,可以按運行按鈕 ,即可以運行了 ,^_^
⑺ c++怎麼在編譯期綁定要訪問結構體成員的名字
結構體指針成員所指向變數,這個說法理解起來有點困難。
從字面意思上看斷句,有如下幾種可能:
首先定義一個包含所有可能情況的結構體:
struct test
{
int a;
int *p;
};
struct test t1, *t2;
1 結構體/指針成員/所指向的變數。
結構體中有指針成員,然後要訪問這個結構體成員指向的變數值。
那麼可以*(t1.p)這種方式對p取值。
2 結構體指針/成員/所指向變數。
這種情況有兩種方法可以訪問:
*(t2->p)
或者
*(*(t2).p)
效果是一樣的。
3 描述有誤,實際為:
結構體指針所指向/成員變數。
同樣有兩種方法可以使用:
t2->p
或者
(*t2).p
⑻ 大俠們:編譯時綁定和運行時綁定的區別...
http://blogs.msdn.com/silverlightshanghai/archive/2008/08/21/net.aspx
⑼ Java中幾個名詞解釋 靜態綁定&動態綁定 靜態編譯&動態編譯 前綁定&後綁定
靜態綁定:例如一個變數在聲明的時候,就初始化最初值;
動態綁定:聲明一個變數,在後續用set方法對其動態設置值;
靜態編譯:編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。
動態編譯:某些程式語言在執行時用來增進效能的方法。
前綁定:還未出現即綁定了某些事件
後綁定:出現後才會綁定的某些事件
⑽ 為什麼JAVA中類的變數在編譯時靜態綁定
java是強類型語言,在編譯時必須知道變數的類型。