簡體   English   中英

使用Extern關鍵字

[英]Use of Extern keyword

我熟悉extern關鍵字,它用於聲明存在於其他文件中的變量,但是以下語句是什么意思?

extern "C" const IMAGE_DOS_HEADER __ImageBase;

這意味着__ImageBase全局變量使用C鏈接 ,並且它的名字應該被錯位使用的C而不是C規則++。

編輯:碰巧的是, 雷蒙德·陳(Raymond Chen)最近發表了一篇文章 ,證明我的原始答案是完全錯誤的: extern "C"不會禁用名稱修飾,它只會更改用於執行名稱修飾的規則 C名稱也可以修改。

這意味着不要__ImageBase符號“ __ImageBase extern "C" __ImageBase的符號extern "C" 簡而言之,它確保您可以在C ++代碼中使用變量。

extern "C"指定要應用的鏈接。 簡而言之,是鏈接規范。
它告訴C ++編譯器將C類型的鏈接應用於后面的符號。

讀得好:
使用extern指定鏈接
如何混合使用C和C ++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM