2. gcc -M -MF c.d c.c:把依赖写入文件c.d,预处理结束就停止编译。 3. gcc -c -o c.o c.c -MD -MF c.d:编译c.c输出目标文件为c.o, 并把把依赖写入文件c.d。 4. gcc -c -o c.o -Wp,-MD,c.d :与3等价。使用-Wp是仅传递参数给预处理阶段使用。 参数详解: -M 不是输出预编译...
若同时也使用了 ‘-MD’ 或‘-MMD’,’-MF’ 将覆写输出的依赖文件的名称 例如:gcc -M -MFmain.dmain.c则'—M'输出的内容就存在于 main.d文件中了 -MD 等同于 ‘-M -MF File’,但是默认关闭了 ‘-E’ 选项. 其输出的文件名是基于 ‘-o’ 选项,若给定了 ‘-o’ 选项,则输出的文件名是 ‘-...
注意:’-MD’ 不会像 ‘-M’ 那样阻止正常的编译任务. 因为它默认关闭了 ‘-E’ 选项, 比如命令中使用了 -c 选项,其结果要生成 .o 文件,若使用了 ‘-M’ 选项,则不会生成 .o 文件,若使用的是 ‘-MD’ 选项,则会生成 .o 文件 例如1:gcc -E -MD main.c 本目录下生成了以下文件: main.d 同...
会继续执行 make, #主要是考虑到首次 make 时,目录中若不存在 '*.d' 文件时, #加载便会产生错误而停止 make 的执行 -include $(DEPS) %.o:%.c gcc -c -g -Wall $< -o $@ -MD -MF $*.d -MP main: $(OBJS) gcc $^ -o $@ #注释:...
file -M -MD -MF -MG -MM -MMD -MP -MQ -MT -no-integrated-cpp -P -pthread -remap -traditional inhibited with the negated form -fno-working-directory. If the -P flag is present in the command line, this option -P Inhibit generation of linemarkers in the output from the preprocessor...
如果你希望将生成的依赖关系写入一个文件中,而不是直接输出到标准输出,你可以使用-MF选项来指定输出文件的名称。例如: sh gcc -M -MF source.d source.c 这将把依赖关系写入source.d文件中。 5. 使用-MD选项自动生成依赖文件 gcc还提供了一个更方便的选项-MD(或-MMD,后者不会包含系统头文件),它会自动生...
gcc -M -MF c.d c.c //把依赖写入c.d gcc -c -o c.o c.c -MD -MF c.d //编译c.o ,把依赖写入c.d 当我们在进行编译的时候免不了要去链接库文件,以下命令用来查询库文件和头文件分别放在那个目录下 echo 'main(){}'| gcc -E -v - // 它会列出头文件目录、库目录(LIBRARY_PATH) ...
%.o : %.c gcc $(CFLAGS) -c -o $@ $< -MD -MF .$@.d 1. 2. 3. 4. 5. 6. 7.现在重新make,发现以前的警告就变成了错误,必须要解决这些错误编译才能进行。在a.c里面声明一下函数: void func_b(); void func_c(); 1. 2.重新make,错误就没有了。
-MF File当使用了 “-M” 或者 “-MM” 选项时,则把依赖关系写入名为 “File” 的文件中。若同时也使用了 “-MD” 或“-MMD”,“-MF” 将覆写输出的依赖文件的名称 。 编辑-MD等同于 -M -MF File,但是默认关闭了 -E 选项。其输出的文件名是基于 -o 选项若给定了 -o 选项,则输出的依赖文件名...
:n,md(删除n-m行) 特别说明: Ctrl+Z:这个不是vim的动作,而是进程操作的快捷键,作用是把当前正在运行的前台进程停止,并让其进入后台(windows下是撤销),放在这里说明是因为习惯了windows的用户容易按错,导致之后用vim打开文件时一直提示”发现交换文件...”,解决方法是用ls -a命令查看所有文件,找到后缀为.swp的...