请问编译时 keil为什么会给出警告呢?谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:31:15
程序如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < argc; i++)
printf("argv[%d]: %s\n", i, argv[i]);
return 0;
}
请问 keil为什么会给出警告呢???
警告如下:
Build target 'Target 1'
assembling STARTUP.A51...
compiling main.c...
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_MAIN?MAIN
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: MAIN
MODULE: C:\KEIL\C51\LIB\C51S.LIB (?C_INIT)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: MAIN
MODULE: C:\KEIL\C51\LIB\C51S.LIB (?C_INIT)
ADDRESS: 0C5FH
Program Size: data=37.1 xdata=0 code=1390
"test1" - 0 Error(s), 3 Warning(s).

运行时随文件名输入相应参数

我觉得这可以无视掉,没感觉有啥问题。
你什么环境下出的警告,为啥我没出警告。。。
我对keil不太了解。

void main(void)
看你的主函数是典型的教材例子,没用,返回值和参数都去掉吧。
这3个警告不影响代码运行。

void main()