当前位置: 动力学知识库 > 问答 > 编程问答 >

c - difference of compiler between macOS and linux?

问题描述:

I am now learning c language, and my school put all assignments on myth, every time we have to log in by ssh and execute command remotely.

Thus I want to download the files and execute them on my own macbook. However when I use make command to compile the files, I got errors and warnings such as :

gcc -g -O0 -std=gnu99 -Wall $warnflags -m32 -c -I. vectest.c -o vectest.o

warning: unknown warning option '-Wlogical-op'; did you mean '-Wlong-long'?

vectest.c:10:10: fatal error: 'error.h' file not found

#include <error.h>”

I googled these problems but could not find a satisfactory answer. can anyone help me solve this ? or I have to use a linux machine instead?

网友答案:

Indeed; compilers for various platforms (even if it's the "same" compiler, such as GCC) may have different flags and behaviors. You may be able to get it to work - you could remove the -Wlogical-op flag from $warnflags in your Makefile, but if the error.h file is a system-supplied header file, you're probably in trouble. Therefore, I suggest that you download e.g. VirtualBox and run Linux on it.

网友答案:

See error(3) for what this header provides. It's not specific to linux but to the GNU C library. What you COULD do is provide your own minimal implementation of these functions and write your own error.h.

You could even `#define' them to do nothing at all, but then you will probably lose some error reporting in the existing code. Maybe you could try to find a teacher understanding the problem and discuss the issue ... it's probably better to learn standard C not using any platform-specific extensions.

分享给朋友:
您可能感兴趣的文章:
随机阅读: