2013-02-05 28 views
1

我想知道一種編程語言,它不需要在目標系統上安裝運行時/依賴關係。我的主要目標是Windows XP及以上。不需要安裝運行時/依賴關係的編程語言

我嘗試AutoHotkey的,但它dosent有很多進步的功能。

首先,請確認確實「C++」需要對目標系統上安裝運行時/依存度的Win XP或更高版本。其次,請給我一個替代C++的例子,它不需要安裝依賴項。

更新:我將使用代碼塊!編譯的C++代碼是否需要依賴關係?

UPDATE:很抱歉的誤解,通過代碼塊我的意思是代碼塊的默認編譯器(即:GNU GCC CompilerMinGW)。

+4

VISUAL C更具體++通常要求在目標計算機上安裝的庫,但你*能*封裝,內置.exe文件中的DLL文件。您也可以將庫函數編譯到.exe ittself中進行「靜態」構建。這兩種方法都可能適合你。 (只有評論,因爲我確定別人可以填寫如何做到這一點,並有適當的答案) – jcoder

+0

似乎相當嚴格的要求。大多數程序都有依賴項,爲什麼你的不同?你想做什麼? –

+0

@PeterWood大多數程序都依賴於操作系統的存在,但他們沒有理由依賴於其他任何東西。您可以靜態鏈接除操作系統之外的所有內容,並且不應該存在依賴關係。 (實際上,如果您希望代碼在不同的系統上運行,並且這些庫可能具有不同的,不兼容的庫版本,則應__靜態鏈接大多數庫。) –

回答

6

一切通常取決於項目,而不是語言。例如,在Visual Studio C++中編譯的程序使用一些運行時庫來正常工作。但是,您可以用這種方式配置項目,以使這些庫包含在可執行文件中,因此不需要額外的依賴項。 Delphi的工作原理類似

下面是Visual Studio項目的設置:

enter image description here

如果選擇 「DLL」 選項,你的程序將需要運行時的DLL。否則它將是獨立的,運行時將被合併到你的二進制文件中。


編輯:在對問題編輯

我重複自己:這取決於項目,不是編譯器或IDE。

+0

它取決於傳遞給鏈接器的選項。使用Visual Studios,這些在項目文件中指定;與大多數其他系統一起使用makefile。 –

1

如果你想創建一個不要求別的才能運行,除了基本操作系統(無.NET,沒有Java,Perl中沒有,沒有運行時庫等)的程序,那麼你最好的選擇是使用CC++並將您的程序編譯爲單個靜態編譯的可執行文件。

這是相當困難的在實踐中實現的,但它可以做到的。

0

代碼塊並不是一個編譯器,而是一個IDE,可以使用不同的編譯器。 最常見的是MinGW

爲了與minGW兼容,以便所有標準庫都靜態鏈接,請先配置您的項目(請參閱「項目設置」),以便鏈接器選項包含-static標誌。

你甚至可以通過stecifying

-static-libgcc 
-static-libstdc++ 

enter image description here

相關問題