[英]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.