当前位置:  技术问答>linux和unix

一个弱弱的问题:关于extern的使用

    来源: 互联网  发布时间:2016-07-15

    本文导语:      extern为外部应用的定义,适用于定义变量和函数,对变量是可以理解的,如果不用extern会出现重复定义错误。但对于extern void fun()这样的方法真是起到了外部应用的作用了么?     我在A.c中写一个void fun(),...

    extern为外部应用的定义,适用于定义变量和函数,对变量是可以理解的,如果不用extern会出现重复定义错误。但对于extern void fun()这样的方法真是起到了外部应用的作用了么?
    我在A.c中写一个void fun(),在A.h中写入extern void fun() 或者 void fun() 。在B.c中引用A.h后,都能正常调用,编译也没有问题。
    所以是不是说明extern +函数 其实是没有任何意义的(相当于 void fun()可以被重复定义,只要惟一一个.c文件中写它的具体实现就可以了)

|
函数跟变量名不一样吧,
只一个函数名的话没有实体,而只一个变量定义的话是有一个实体的.

|
在B.c中引用A.h后,都能正常调用,编译也没有问题。

这个其实不是extern的作用之处,
extern的作用之处在B.c在没有引用A.h的情况下,在B.c里直接extern void fun();少了引入头文件

|
头文件里一般是声明,而不带extern;需要用到别的c文件里实现的函数而没有通过包含头文件这样的方式的,可以extern声明。

|
在头文件中加上extern是为了别人读代码时清楚的认识该函数是外部调用的还是该文件内调用------这个一个好程序员的作风。
你看一个大点的工程的时候,就会发现作用很大,尤其去研究学习的时睺
所以6楼的兄弟。。。。。。。。。。。。。

    
 
 

您可能感兴趣的文章:

  • nginx Windows版相关问题及使用说明
  • gcc和cc得使用问题?能互相交换使用么?
  • [请置顶]关于Linux的安装使用问题 请放到 软件使用/操作系统 里提问
  • 使用VWMARE安装linux的内存使用问题
  • 原来使用在这里:vmware中的redhat 8.0使用声卡的问题!!急
  • 几台机器做lvs,使用100M 网线连接,文件系统使用NFS共享,读写速度会出现问题吗?
  • ubuntu的问题。查看内存使用情况的问题
  • 菜鸟问题,小弟刚刚使用LINUX不久,不知道如何使用编程工具进行编译和运行!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 弱智问题:我们怎么才知道要使用的方法需要实现什么接口才能使用这个方法呢?
  • 菜鸟问题 : 关于使用Flex的问题
  • 关于linux下QQ和代理服务器使用的问题(2个问题)
  • freebsd做前台 使用win2000做储存器问题问题(非高手免进)
  • 初学者问题(2):关于super的使用问题,请大家多多帮忙。
  • fedara13 初使用之问题
  • 关于windows下的gcc使用问题
  • 移动硬盘使用问题求解?百分相赠!!
  • 关于如何使用内核函数的问题
  • 我在使用j2sdkee1.3.1使用deploytool部署EJB时发现这样的问题
  • 急求,用户程序使用atomic的编译问题!!
  • 关于一个jbuilder使用的问题
  • extern "C" 在linux上的问题
  • 上次问题解决了,原来是extern被重定义了。。。天阿,关键字也可以被重定义。。。。。欢迎接分
  • 简单问题:Unix下使用extern关键字的标准C程序如何编译?比如...
  • windows下的QT编译问题:链接时提示某些虚函数 unresolved external symbol
  • 诡异的extern问题。
  • wls6.1+jb5做了一个SessionBean,我知问题出在Temp路径的空格上,我已改了,但还是出错。我在enterprise Setup中把Use external compiler去掉又可以,但这样不能更新Jar.求助!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样
  • Linux 下c++开发error while loading shared libraries问题解决
  • jbuilder7问题 编译没有问题,内部运行编写的的java程序就退出了???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3