qq_慕仔9282782
Tarzon
慕标3395159
正常情况下不可以,若是编译器支持的,编译时指定windows平台,也就是交叉编译。
六个蒸蛋
编译器问题,gcc编译器识别的注释码是//,make编译器识别的注释码是#
慕桂英3381868
gcc版本的问题 有些版本没有声明头文件的话,默认也是报错的 即hello.c里面没有声明max.h与min.h,建议使用更严谨的写法 也就是视频中有说的包含.h的方法
蒸馏水煮鱼4295909
我的也是报错,如果include进来,就会像老师说的那样,出现了对max函数的二次定义,也会报错。有没有大佬 说下为什么 。
Pud
重写呗
K8sCat
set tabstop=4
Fyilyer

你是说这里的-c嘛?预编译成二进制文件的意思。这个Makefile文件的编码规则是由make编译器而定的。主要是让make识别并并完成编译目标C文件。
依慕而栖
转CSDN博客https://blog.csdn.net/u011964923/article/details/73297443
慕沐8369033
不明白的是:老师的是gcc max.o min.o hello.c -o hello.out,hello.c中可以没有声明,编译也没问题,而我的则显示warning:隐式声明函数‘max.c’和‘min.c’
月薪过万只是梦
...........
青吟乐
qq_小飞仔GXF_0
退出方式不对,小问题
qq_孤狼墨羽_0
-c 参数
编译或汇编源文件,但是不作连接.编译器输出对应于源文件的目标文件.
缺省情况下, GCC通过用`.o'替换源文件名后缀`.c', `.i', `.s',等等,产生目标文件名.可以使用-o选项选择其他名字.
GCC忽略-c选项后面任何无法识别的输入文件(他们不需要编译或汇编).
来自:http://www.shanghai.ws/gnu/gcc_1.htm
慕粉115225727
节约时间
格劳修斯
you can drink anything you want after your work....
kming
你的代码能传上来吗
l幽z影h
一样啊,放到Linux当前目录下编译就行了,编辑器不同没关系,编译环境很重要!
风飒楼阁
不明白什么意思
此生流离
这个就像你在 编辑器上打字为什么会显示一样,如果不显示的话,你就不确定你的输入是不是有问题,为了方便人机交互,所以进行了显示。
lianfu
可以写多个啊,make时用 -f 参数指定以一个makefile就可以。
丶陌墨
-c 参数表示将源文件编译成object(目标文件)。 即 gcc -c max.c 会编译成 max.o
gcc 不加参数时会编译且尝试链接成可执行文件,然而 max.c 的代码中没有main函数的定义,所以最终无法成功链接,故报错。
haoaben
-c 参数是将源代码编译成“目标文件 .o”,后面多个目标文件可以链接成可执行文件。
不使用这个参数时gcc会直接进行 编译 链接,生成可执行文件。
flame1
我说你听着
你好,你看一下你是不是在workspace目录下或者其他目录下新建的MakeFile文件?需要在les2文件夹下新建的
bip
你把完整的makefile贴上来吧
Jeffacode
不能说只于C有关,本质上也与shell无关。
make本身的功能是:可以按文件的新旧日期、按照一定的规则(写于makefile中)来执行指定的操作,这些操作通常就是调用gcc来编译代码。当然你也可以写makefile来让make干别的事情。
这东西就是为了方便开发者,实际上有一系列GNU工具来干这些工作,它们统称为autotools,包括 autoconf, automake ...。这些工具可以按照机器上的开发环境设置相应的编译参数、自动生成相应的makefile、最后make一下就可以编译整个工程了。 可以说是干了IDE的活。
SummerWinter
为爱逞能
sudo apt-get upgrade make