include 包含
来源:互联网 发布:淘宝店买卖流程及费用 编辑:程序博客网 时间:2024/05/17 02:17
比如一个文件main.c,其包含a.h,a.h对应一个a.c,那么1、如果直接编译main.c是否可以成功呢?(没有编译a.c),2、如果链接是否可以成功呢?
main.c定义如下:
#include "a.h"
int main(int argc,const char * argv[]) {
printf("Hello, World!\n");
call();
return 0;
}
#ifndef __test__a__
#define __test__a__
#include <stdio.h>
extern int a;
void call();
#endif /* defined(__test__a__) */
#include "a.h"
int a=10;
void call()
{
printf("abcdefg\n");
}
$ gcc -c main.c
成功gcc -o main main.c
系统提示:Undefined symbols for architecture x86_64:
"_call", referenced from:
_main in main-34107c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
就是说a.c里面的call方法没有定义$ gcc -c a.c
再链接a.o和main.o$ gcc -o main main.o a.o
成功$ ./main
输出
Hello, World!
abcdefg
- include 包含
- include包含日志
- 页面包含指令:include
- C++:相互包含(include)
- 文件包含#include
- include包含头文件
- include包含指令
- jsp与include包含
- include 两种包含
- jsp_ include动态包含
- JSP包含(include指令与include标签)
- include:静态包含和动态包含
- include静态包含和动态包含
- JSP 之 静态包含 <%@ include %>
- 预处理(一)#include文件包含
- android include包含布局文件
- 动态包含(<jsp:include>)
- java include包含指令例子
- 冒泡排序算法
- 开放封闭原则和接口隔离原则
- 日经春秋 20160105
- css 基本结构
- iOS UI学习笔记(二)View的frame和bounds,center
- include 包含
- OSG+VS2010+Win7环境搭建
- 151220DuoTaiDemo多态详解1
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Linux Shell下获取当前脚本的绝对路径
- Bootstrap的表单控件
- Android WITH_DEXPREOPT与PRODUCT_BOOT_JARS & PRODUCT_SYSTEM_SERVER_JARS
- gcc安装步骤
- [Android实例] 手写签名,画笔颜色选择器