欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

現代編譯器能否把這個給優化掉

錢浩然2年前19瀏覽0評論

現代編譯器能否把這個給優化掉?

頭文件里面放的是你所使用到的所有外部函數、結構體、類的聲明。本質就是一個聲明文件。

我們寫函數的時候,一定會用到外部函數。那這個外部函數我們并不知道在哪一個庫中。如果沒有在C文件中引入頭文件的話。編譯是不是會報錯?告訴我們無法識別XX函數。原因就是我們使用了一個函數,但是我們的C文件中,并沒有這個函數,編譯器不知道你這個函數是什么,就會告訴你識別不了。這是其實我們只要在C文件內部強制手寫這一個外部函數聲明“extern.......“這樣的語句就可以騙過編譯器,因為編譯器會認為在外部有這么個函數,所以就可以正常編譯了。外部聲明意義就是告訴編譯器我已經有了一個函數,你不要管其他的只管編譯就好。

那么如果我們在其他的編譯好的庫文件或者C文件中真的有這么一個函數就可以正常鏈接,但是如果我們其他的庫沒有這個函數,那么鏈接時就會報錯告訴你找不到這么一個函數。

其實理論上來說,如果我們明確的知道我們用的外部函數存在的話,完全可以不用頭文件,自己強制把用到的函數都寫一遍extern聲明是沒有問題的。但函數那么多我們并不能保證我們明確的知道用到的外部函數都有,而且每一個都自己寫會非常麻煩,而且還容易出錯。那怎么辦呢,這時候就有頭文件存在的意義了。

每一個提供庫的人,或者提供C文件的人,都要提供一個跟庫或者C文件配套的頭文件。那這就能保證不會寫錯。只要頭文件里有這個函數,那是提供者給的,我們就相信這個庫里就存在這個函數。直接引用這個頭文件就好了。

所以頭文件的作用就是代替了我們自己去寫那些聲明。既省時又省力,還準確。這只是一個編程規范,并非強制性的。

java文檔注釋會編譯嗎,現代編譯器能否把這個給優化掉