`
envy2002
  • 浏览: 149366 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux extern关键字的作用2

阅读更多
extern int O_RDONLY;

#include <stdio.h>
//包含include <fcntl.h>时,会报错
/*
main.c:5: error: conflicting types for 'open'
/usr/include/fcntl.h:72: error: previous declaration of 'open' was here
*/
#include<fcntl.h>
//#include <sys/stat.h>

int open( const char * pathname, int flags)
{
	printf("string is %s\n",pathname);
	return 0;
}
int main(int argc, char **argv)
{
	
	printf("flag is %d",O_RDONLY);
	//open("my lady gaga",34);
	return 0;	
}

//我们在这里故意写和fcntl.h中定义的函数 int open( const char * pathname, int flags);一致
//看看为什么在不包含fcntl.h时不报错,但是包含这个fcntl.h头文件时报错
//why, because 编译器链接范围的问题!
//c语言编译是个单个文件编译过程。
//以现在main.c为中心,这是个闭包,include的符号(函数,变量,包括include<头文件>,extern声明
//为外部符号,在链接时用到。

//1.当有extern int O_RDONLY时,如果没有include<fcntl.h>,那么会报未定义的错误,
//增加则不会

//2.如果有int open函数,如果没有 include <fcntl.h>是不会报错的,有会报错

这些错误的猜想:应该归于宏定义的问题,而不是链接的问题。应该连接器还是知道去哪里链接的,但是由于宏定义的
问题,使其出错。

分享到:
评论

相关推荐

    extern关键字的作用

    extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用extern关键字的作用...

    C语言中extern关键字详解.docx

    C语言中extern关键字详解.docx ,C语言中extern关键字详解.docx

    extern关键字作用.docx

    extern关键字的作用 1、extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。extern声明不是定义,即不分配存储空间。也就是说,在一个文件中定义了变量和函数, 在其他文件中要...

    extern关键字的作用.docx

    extern 是 C 和 C++ 语言中的一个关键字,它可以用来声明变量和函数作为外部变量或者函数供其它文件使用。extern 可以置于变量或者函数前,以表示这个变量或函数定义在别的文件中,提示编译器在遇到此变量或函数的...

    extern关键字在C和C++中使用

    extern关键字的作用

    extern关键字的作用extern的用法,本文较详细的介绍了extern的用法及注意事项.zip

    extern关键字的作用extern的用法,本文较详细的介绍了extern的用法及注意事项.zip

    C语言extern关键字的用法

    1、本文详细描述了c语言中的关键字extern的作用。 2、通过详细示例,让读者更直观地阅读,更清晰的理解。 3、示例代码可直接复制,编译后可直接运行。 4、根据示例以及运行结果,让读者加强记忆及理解。

    c语言中extern关键字详解.doc

    c语言中,有众多的关键字,这里对extern关键字进行详细的阐述,希望能加深大家的理解!

    C语言中extern关键字详解[参考].pdf

    C语言中extern关键字详解[参考].pdf

    C/C++ 中extern关键字详解

    主要介绍了C/C++ 中extern关键字详解的相关资料,需要的朋友可以参考下

    浅谈C/C++中的static与extern关键字的使用详解

    本篇文章是对C/C++中的static与extern关键字的使用进行了详细的分析介绍,需要的朋友参考下

    C语言中的extern关键字详细讲述

    Extern_C,讲述extern的用法,和要注意的事项

    详解C语言正确使用extern关键字

    利用关键字extern,可以在一个文件中引用另一个文件中定义的变量或者函数,下面就结合具体的实例,分类说明一下。 一、引用同一个文件中的变量 #include int func(); int main() { func(); //1 printf(%d,num); /...

    实例详解C/C++中extern关键字

    主要介绍了C/C++中extern关键字详解 的相关资料,需要的朋友可以参考下

    C语言正确使用extern关键字

    如果按照这个顺序,变量num在main函数的后边进行声明和初始化的话,那么在main函数中是不能直接引用num这个变量的,因为当编译器编译到这一句话...像下面这一段代码,利用extern关键字先声明一下num变量,告诉编译器nu

    C++中extern关键字使用

     方法一、全局函数和变量在devVar.c文件中实现,在extern.cpp文件中使用extern关键字声明在devVar.c文件中定义的函数和变量。  devVar.c文件的代码如下所示:  #include  int i = 1;  void func()  { ...

Global site tag (gtag.js) - Google Analytics