为什么VS可以运行,但是CCF认证那里说编译出错?
发布网友
发布时间:2022-04-24 18:57
我来回答
共1个回答
热心网友
时间:2023-11-04 09:08
在windows编译成功并且能够正确运行,表明你的程序在windwos平台没问题。
一般像CCF这种网站上进行程序编译通常都是在服务器的linux平台编译运行的。
所以在windows上能够编译并且正确运行并不一定能够在linux平台上能够编译并且正确运行。
这是该程序在linux平台的编译结果,
test.c: In function 'main':
test.c:6:1: warning: implicit declaration of function 'scanf_s' [-Wimplicit-function-declaration]
scanf_s("%d", &n);
^
/tmp/ccECqqtN.o: In function `main':
bd.c:(.text+0x1d): undefined reference to `scanf_s'
bd.c:(.text+0x33): undefined reference to `scanf_s'
bd.c:(.text+0x76): undefined reference to `scanf_s'
collect2: error: ld returned 1 exit status
没有听说和用过scanf_s这个函数,可能是windows平台特有的或者已经过失的函数。
将scanf_s修改成scanf就能够正常编译了,没有测试运行情况。
还有,最后那个system("pause");,如果没特殊需要最好不要,因为这种平台性依赖性很强的函数尽量少用。
热心网友
时间:2023-11-04 09:08
在windows编译成功并且能够正确运行,表明你的程序在windwos平台没问题。
一般像CCF这种网站上进行程序编译通常都是在服务器的linux平台编译运行的。
所以在windows上能够编译并且正确运行并不一定能够在linux平台上能够编译并且正确运行。
这是该程序在linux平台的编译结果,
test.c: In function 'main':
test.c:6:1: warning: implicit declaration of function 'scanf_s' [-Wimplicit-function-declaration]
scanf_s("%d", &n);
^
/tmp/ccECqqtN.o: In function `main':
bd.c:(.text+0x1d): undefined reference to `scanf_s'
bd.c:(.text+0x33): undefined reference to `scanf_s'
bd.c:(.text+0x76): undefined reference to `scanf_s'
collect2: error: ld returned 1 exit status
没有听说和用过scanf_s这个函数,可能是windows平台特有的或者已经过失的函数。
将scanf_s修改成scanf就能够正常编译了,没有测试运行情况。
还有,最后那个system("pause");,如果没特殊需要最好不要,因为这种平台性依赖性很强的函数尽量少用。
热心网友
时间:2023-11-04 09:08
在windows编译成功并且能够正确运行,表明你的程序在windwos平台没问题。
一般像CCF这种网站上进行程序编译通常都是在服务器的linux平台编译运行的。
所以在windows上能够编译并且正确运行并不一定能够在linux平台上能够编译并且正确运行。
这是该程序在linux平台的编译结果,
test.c: In function 'main':
test.c:6:1: warning: implicit declaration of function 'scanf_s' [-Wimplicit-function-declaration]
scanf_s("%d", &n);
^
/tmp/ccECqqtN.o: In function `main':
bd.c:(.text+0x1d): undefined reference to `scanf_s'
bd.c:(.text+0x33): undefined reference to `scanf_s'
bd.c:(.text+0x76): undefined reference to `scanf_s'
collect2: error: ld returned 1 exit status
没有听说和用过scanf_s这个函数,可能是windows平台特有的或者已经过失的函数。
将scanf_s修改成scanf就能够正常编译了,没有测试运行情况。
还有,最后那个system("pause");,如果没特殊需要最好不要,因为这种平台性依赖性很强的函数尽量少用。
热心网友
时间:2023-11-04 09:08
在windows编译成功并且能够正确运行,表明你的程序在windwos平台没问题。
一般像CCF这种网站上进行程序编译通常都是在服务器的linux平台编译运行的。
所以在windows上能够编译并且正确运行并不一定能够在linux平台上能够编译并且正确运行。
这是该程序在linux平台的编译结果,
test.c: In function 'main':
test.c:6:1: warning: implicit declaration of function 'scanf_s' [-Wimplicit-function-declaration]
scanf_s("%d", &n);
^
/tmp/ccECqqtN.o: In function `main':
bd.c:(.text+0x1d): undefined reference to `scanf_s'
bd.c:(.text+0x33): undefined reference to `scanf_s'
bd.c:(.text+0x76): undefined reference to `scanf_s'
collect2: error: ld returned 1 exit status
没有听说和用过scanf_s这个函数,可能是windows平台特有的或者已经过失的函数。
将scanf_s修改成scanf就能够正常编译了,没有测试运行情况。
还有,最后那个system("pause");,如果没特殊需要最好不要,因为这种平台性依赖性很强的函数尽量少用。
热心网友
时间:2023-11-04 09:08
在windows编译成功并且能够正确运行,表明你的程序在windwos平台没问题。
一般像CCF这种网站上进行程序编译通常都是在服务器的linux平台编译运行的。
所以在windows上能够编译并且正确运行并不一定能够在linux平台上能够编译并且正确运行。
这是该程序在linux平台的编译结果,
test.c: In function 'main':
test.c:6:1: warning: implicit declaration of function 'scanf_s' [-Wimplicit-function-declaration]
scanf_s("%d", &n);
^
/tmp/ccECqqtN.o: In function `main':
bd.c:(.text+0x1d): undefined reference to `scanf_s'
bd.c:(.text+0x33): undefined reference to `scanf_s'
bd.c:(.text+0x76): undefined reference to `scanf_s'
collect2: error: ld returned 1 exit status
没有听说和用过scanf_s这个函数,可能是windows平台特有的或者已经过失的函数。
将scanf_s修改成scanf就能够正常编译了,没有测试运行情况。
还有,最后那个system("pause");,如果没特殊需要最好不要,因为这种平台性依赖性很强的函数尽量少用。