※ 引述《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