日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错

發布時間:2023/12/4 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????extern?變量稱為外部存儲變量。extern聲明了程序中將要用到但尚未定義的外部變量。本次錯誤的解決方法同樣適用于外部函數。外部函數就是可以被其他源文件調用的函數,定義外部函數時使用extern進行修飾。

????首先,分別創建兩個源文件“ex1.c”和“ex2.c”。其中,“ex2.c”聲明了一個外部整型變量a,暫未定義它的值;“ex1.c”中定義了一個變量名相同(a)的整形變量,值為10。此時執行“ex2.c”報如下錯誤:

Linking...

ex2.obj : error LNK2001: unresolved external symbol _a

Debug/ex2.exe: fatal error LNK1120: 1 unresolved externals

執行 link.exe 時出錯.

????出現上面的錯誤,百度的解法五花八門,其中最熱門的解法,也就是大家普遍發表的文章內容,如下圖,然而卻不管用(此方法可能適用于其他情況)。

????其實只需要分別編譯一下兩個源文件“ex1.c”和“ex2.c”即可解決(主要還是“ex1.c”的編譯)。一開始作者也是沒有分別編譯一下這兩個源文件,只是編譯和構建了“ex2.c”,結果就報上面的錯誤,然后埋頭于百度的解法,硬是沒能解決。

????是否編譯了“ex1.c”可以從左側欄中判斷,編譯后有變量a。

????編譯前:

????編譯后:

????此時執行“ex2.c”不再報錯,控制臺輸出結果

[注]:在C語言中定義函數時,如果不指明函數是內部函數還是外部函數,那么將默認指定函數為外部函數,也就是說,定義外部函數時可以省略關鍵字extern,但是不能省略聲明外部函數中的extern。

總結

以上是生活随笔為你收集整理的c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。