為什麼C 語言的建立者們們不進一步改進DLL匯出類的機制?

時間 2021-05-31 10:16:46

1樓:魯哈花

經常見到DLL地獄的中英文表示,但從業多年,並未經歷過什麼DLL地獄。

C++語言的建立者一般不需要考慮DLL,DLL是微軟為windows創造的概念,有理由相信當年DLL都是基於c語言的,C++更加管不著了。

2樓:喬捷

改進早就有,比如說COM,提供了一套二進位制級別的介面機制。

回到題主的問題,c++和c#整合的最優方案是c++/cli,最方便而且效能損耗最小,缺點是不能跨平台,如果需要跨平台的話還是需要p/invoke。

3樓:

C++不只是只在Windows上跑,所以只在Windows上出現的問題不歸C++語言的建立者們管

事實上C++標準裡沒有DLL相關的內容,更輪不到C++ Committee去管。

4樓:徐辰

因為DLL相關問題是OS的鍋,輪不到C++來背。

當然Windows下的鍋全要扣給微軟,但微軟也可以甩鍋給C++標準委員會,畢竟這是「足球模式」在現實中的具體應用。

5樓:黃亮anthony

包括了兩個問題

DLL地獄是window的管理機制問題. 通過manifest機制, 當前已經改進了不少. 這與C++無關.

C++用於DLL匯出時, 就當前的實現和標準來看, 不並適合直接匯出類, 比較好的做法是匯出函式.

但是windows還有一些其它的問題, 所以按VCZH的做吧.

6樓:Grfxlf

更好的機制其實早就有, MS把他實現在了CLR上. 至於不公升級DLL可能跟公司策略和市場有關,倒不是什麼無法完成的東西....

C 語言的開發者們都用什麼 IDE 和編譯器?

算不算開發者,算是學習者。結論 Windows,收費Visual Studio 免費Dev C 一開始用的VC6.0,電腦公升級win8後無法使用。後來用C free,但是需另外裝編譯器,初學者可能會麻煩。編譯引數設定複雜,想顯示所有警告和錯誤都不行。編譯完成時不提示編譯器的編譯引數,除錯很不方便。...

鋼鐵戰衣這麼厲害為什麼不給復仇者們一人發一件呢?

沒用的阿吉 黑豹戰衣比不上鋼鐵俠?黑豹也就不會飛,要想加這些功能對人家那科技樹來說不叫事,人家敏捷系的,不喜歡這些零零碎碎。寡婦一敏捷系,潛伏刺殺,你跟我說穿山甲?鷹眼,弓箭手穿上鐵甲,還要啥弓箭,身上裝幾個發射器,咻咻咻的射就完了,等會,換成子彈是不是好像跟某機器一樣了?美隊穿戰甲你分的出他和鋼鐵...

為什麼消費者們大多知道自己喜歡的服裝是哪位設計師的作品, 但不知道自己開的車是哪個汽車設計師作品呢。?

首先,作為汽車或者機械行業來說,一般稱之為工程師,而不叫做設計師。每輛車的誕生,其前期階段並不存在像是衣服設計師之類的由於靈感而創作出來的事情。前期針對消費者和市場調研,根據現有技術及工藝來做設計輸入。這是經過多方論證的乙個資料,不是乙個人可以拍腦門能決定的,是乙個團隊的結論。當有了這些東西,工程師...