導航:首頁 > 源碼編譯 > const欄位的值是在編譯時確定的

const欄位的值是在編譯時確定的

發布時間:2024-06-20 12:41:14

A. Linux centos7使用make編譯時報錯,提示C文件初始值設定元素不是常量,請問應該怎麼解決

static const 初始化值必須為常量,就是只能是編譯時就能確定的值,而不是運行時運算出來的值.

得看看makefloatx80是什麼,如果是一個普通函數,那麼出現這個錯誤是應該的.

考慮到是官方庫,可能是使用的編譯器版本不同.

B. visual studio 如何在編譯期確定字串長度,特殊宏之類的

宏的作用,只是在編譯期間完成替代,並不能實現計算。因此不要考慮宏實現,這個沒什麼可行性。

編譯期間數羨胡槐值確定,其實可以通過const關鍵字實現,但說實話,這個是「消耗空間換時間」,如果有log的函數太多,太分散,並不值得。

如果log比較集中的在幾個函數中,那麼可以這么做:

constintfnamelen=strlen(__FUNCTION_);
log(__FUNCTION_,fanmelen);
這樣,因為編譯之後__FUNCTION_是一個常量,const 變數會直接從編譯器的符號表中取值(做爛這個叫C++的常量折疊),不會兄友反復計算。


閱讀全文

與const欄位的值是在編譯時確定的相關的資料

熱點內容
php網路工程師崗位職責 瀏覽:998
土豆伺服器風險怎麼樣 瀏覽:990
win11怎麼安裝安卓游戲 瀏覽:555
程序員報考內容 瀏覽:302
su3維文本命令 瀏覽:871
單片機存儲器類型 瀏覽:13
unix查看埠命令 瀏覽:21
程序員團建活動有哪些 瀏覽:67
libzip壓縮解壓 瀏覽:943
廣州銀行app如何導流水 瀏覽:385
什麼是寫命令 瀏覽:687
程序員眼中的道德 瀏覽:505
文件解壓後亂碼是什麼原因 瀏覽:730
php路徑轉換 瀏覽:188
php中flag 瀏覽:183
當程序員要做什麼准備 瀏覽:284
pinctrllinux 瀏覽:901
lzw壓縮工具 瀏覽:864
luae加密插件破解版 瀏覽:141
Python求導數和程序 瀏覽:223