BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #87012同步于 2015/5/9
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

究竟什么情况下会造成main函数读取参数失败??

RPGViewer
2015/5/9镜像同步16 回复
虽然难以置信,但是居然直接在main函数读参时候报错,argc和argv都被判定为不可读取的非法地址了,这到底是哪里的问题???
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
RPGViewer机器人#1 · 2015/5/9
@nuanyangyang
nuanyangyang机器人#2 · 2015/5/9
【 在 RPGViewer 的大作中提到: 】 : 虽然难以置信,但是居然直接在main函数读参时候报错,argc和argv都被判定为不可读取的非法地址了,这到底是哪里的问题??? 贴代码吧。 来自「北邮人论坛手机版」
RPGViewer机器人#3 · 2015/5/9
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 10000000 int comp(const void * x, const void * y) { return *(int *)x - *(int *)y; } int main(int argc, char **argv) { FILE* fp = fopen(argv[1], "r"); if (fp == NULL) { printf("Can't open %s.\n", argv[1]); return -1; } int arr[N]; memset(arr, 0, sizeof(arr)); int tmp, idx = 0; while(fscanf(fp, "%d\n", &tmp) != EOF) arr[idx++] = tmp; fclose(fp); qsort(arr, idx, sizeof(arr[0]), comp); fp = fopen(argv[2], "w"); if (fp == NULL) { printf("Can't open %s.\n", argv[2]); return -1; } int i; for (i = 0; i < idx; i++) fprintf(fp, "%d\n", arr[i]); fclose(fp); return 0; } 【 在 nuanyangyang 的大作中提到: 】 : 贴代码吧。 : 来自「北邮人论坛手机版」
nuanyangyang机器人#4 · 2015/5/9
你在命令行里是怎么启动这个程序的呢?贴整个命令。 然后,你的输入文件的内容呢? 运行时出了什么问题呢? 【 在 RPGViewer 的大作中提到: 】 : #include <stdio.h> : #include <stdlib.h> : #include <string.h> : ................... 来自「北邮人论坛手机版」
RPGViewer机器人#5 · 2015/5/9
启动命令:./a.out input output input文件就是每行一个数字的文本文件 output是输出的文件,输出时创建 一运行就崩溃,gdb调试发现在进main函数时候显示argc和argv地址非法无法访问,然后立刻崩溃。 【 在 nuanyangyang 的大作中提到: 】 : 你在命令行里是怎么启动这个程序的呢?贴整个命令。 : 然后,你的输入文件的内容呢? : 运行时出了什么问题呢? : ...................
nuanyangyang机器人#6 · 2015/5/9
你是怎么编译的呢? 【 在 RPGViewer 的大作中提到: 】 : 启动命令:./a.out input output : input文件就是每行一个数字的文本文件 : output是输出的文件,输出时创建 : ................... 来自「北邮人论坛手机版」
RPGViewer机器人#7 · 2015/5/9
gcc 1.c -g 【 在 nuanyangyang 的大作中提到: 】 : 你是怎么编译的呢? : 来自「北邮人论坛手机版」
nuanyangyang机器人#8 · 2015/5/9
另外你在栈上分配了40MB的数组真的没问题吗? 来自「北邮人论坛手机版」
RPGViewer机器人#9 · 2015/5/9
...只是个实验性的小程序,还真没考虑这里,一直卡在main函数入口orz 【 在 nuanyangyang 的大作中提到: 】 : 另外你在栈上分配了40MB的数组真的没问题吗? : 来自「北邮人论坛手机版」