看板 LinuxDev 關於我們 聯絡資訊
※ 引述《RiverJackson (JACK)》之銘言: : 請問一下 我要再kernel裡面 : int a=8; : 有一個char*argv[2]={"test",a}; : 這樣可以build 但是跑出來結果好像沒東西 : a 理論上應該要變字串再丟進去 我本來想用sprinf去完成 : 但是kernel不支援 有人知道要用什麼方法呢 : 感謝囉~~~~ 單純就"整數變字串"這個議題而言,可以用gcc的前置處理器來轉換 //需要做兩層才可以轉到真正的數值為字串 #define _STR(x) #x #define STR(s) _STR(s) #define MAJOR 1 #define MINOR 0 #define DIVIDE "." #define MAJOR_STR STR(MAJOR) #define MINOR_STR STR(MINOR) #define VERSION_PREFIX "FW v" #define FW_VERSION(a,b) (((a) << 16) + (b) ) #define FW_VERSION_CODE FW_VERSION(MAJOR,MINOR) const char version[]= VERSION_PREFIX MAJOR_STR DIVIDE MINOR_STR; printf("%s\n",version); //FW v1.0 小弟通常都拿來設定版本資訊,這樣可以整數與字串通吃, 一點心得分享,離題太多莫怪XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.142.254