導航:首頁 > 源碼編譯 > 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欄位的值是在編譯時確定的相關的資料

熱點內容
androidcheckbox默認選中 瀏覽:587
安卓上怎麼玩地平線 瀏覽:404
python自製錄屏軟體 瀏覽:571
熱電偶與單片機 瀏覽:307
葉子java版命令方塊 瀏覽:837
阿里伺服器有什麼作用 瀏覽:749
java程序開發範例 瀏覽:888
java17formac下載 瀏覽:614
rrc是什麼單片機 瀏覽:530
linux默認網關設置 瀏覽:679
java函數return 瀏覽:25
鄭州app積分商城哪裡好 瀏覽:610
7za命令解壓zip 瀏覽:906
硬碟加密無法進入系統 瀏覽:560
四葉花演算法 瀏覽:741
寶寶濾鏡app哪裡下載 瀏覽:1002
java保護代碼 瀏覽:806
游戲海外伺服器什麼意思 瀏覽:568
快手網紅程序員排名 瀏覽:99
首先會通過什麼尋找伺服器的ip地址 瀏覽:199