编译多源程序文件时,MinGW是否创建目标文件?
Does MinGW create object files when compiling multisource program files?
我听说在Linux上用gcc编译多源文件时,gcc会创建目标文件*。因此,当您只更改一个源代码文件时,不需要重新编译所有文件。我在Win7 x64上使用MinGW, MinGW不创建任何对象文件。
c
//main.c
#include "header.h"
int main(void)
{
Message();
return 0;
}
source.c
//source.c
#include <stdio.h>
#include "header.h"
void Message()
{
printf("Hello World...n");
}
header.h
//header.h
#ifndef HEADER_H
#define HEADER_H
#include <stdio.h>
void Message(void);
#endif
如果我把这些文件放在桌面上,用命令编译:gcc main.c source.c -o program
我只得到program.exe,没有任何。obj文件。
是的,MinGW
确实保存临时文件。临时文件的路径将等于您机器中的%TEMP%
变量。您还可以通过以下命令查看临时文件
gcc -o example.out source.c main.c --save-temps
编辑
更正了一个错别字。路径应该是%TEMP%
而不是PATH
在这方面,GCC在Linux上的行为与Windows上的MinGW相同。
你可以特别告诉gcc为以后的链接生成目标文件:
gcc -c main.c source.c # compile to object files
gcc -o program main.o source.o # link the object files and produce an executable
相关文章:
- 终端不会为C++文件创建.exe文件吗
- 如何从具有两列的.txt文件创建并行数组?
- 从 .lib 文件创建一个.dll文件
- 如何从输入文件 c++ 创建随机名称生成器
- 无法从 cso 文件创建顶点着色器(从 fx 文件创建)
- 如何为多个目录中的多个文件创建生成文件?
- 在编译时从 c++ 文件创建枚举
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 文件创建并不总是成功
- 如何使用 QFile、c++ 从文件创建整数数组
- 您可以使用 makefile 从 .o 对象文件创建 C++ 文件吗?
- 从函数中的dat文件创建一个2维数组
- 如何为 cpp 和 h 文件创建别名(并忽略编译器__attributes__)
- 如何从现有的生成文件创建 CMake 文件?
- 为什么我无法使用文本文件创建文件映射?
- 通过读取文件创建映射<字符串,矢量>时如何管理内存<string>
- 从文本文件创建 2D 字符串矢量
- ofStream: - 尽管文件创建了,但文本文件上没有输出
- 从语言文件创建JSON对象
- 将文本文件创建到节点.js的插件C++