static int myarray[2]={-1,234};
module_param_array(myarray,int,&arrayargc,0);
MODULE_PARM_DESC(myarray,"Integer Array");
static int __init module_init_2(void)
{
int i;
for(i=0;i< (sizeof myarray/sizeof(int));i++);
{
printk(KERN_INFO "myarray[%d] is %d",i,myarray[i]);
}
は、それは警告を与えている警告:配列の添字が配列の境界上にある[-Warray-境界]モジュールで、私はいくつかのコマンドラインinput.Duringコンパイルを取るために、単純なモジュールを書いています
warning: array subscript is above array bounds [-Warray-bounds]
printk(KERN_INFO "myarray[%d] is %d",i,myarray[i]);
なぜそれは私が2まで実行されるように警告が出ている、私はこれに関するいくつかの質問を見たが、それはそれほど助けにはなりません
あなたは忘れてしまいました'' Option#N ... "'文字列の間のカンマ。Cは単一の文字列として扱います。typoとして閉じるために投票します。 – dasblinkenlight
何が間違っているのかを警告することなくコンパイルしません。 –
私はそれを正しかった。今問題は、プログラムがオプションを出力し、m = getcharをバイパスして、次のprintfに直接ジャンプすることです。理由を教えてください。 –